Telerik Forums
UI for ASP.NET AJAX Forum
7 answers
329 views

Hello techies,

We are using the RagGrid on a test page for performance testing.
We were surprised to notice that a simple page with 100 elements in the GRID takes on an average about 2 seconds. We are doing a load test on Win Server 2008 R2. We are not using a real database. We are using a STUB to generate the 100 odd elements.
The same STUB when used on ASP.net MVC page with simple HTML table rendering out performs the RadGrid Page. The MVC page takes about 0.37 seconds.

 

Test Environment : ASP.net 4.0 / RadControls for ASP.NET AJAX Q2 2011 SP1 / Windows Server 2008 R2 / IIS 7.5  / Application pool type “Integrated Pipeline”

Any ideas?

 

Advance thanks,
Clement
Pavlina
Telerik team
 answered on 04 Dec 2012
1 answer
115 views
Does RadOrgChart support a horizontal orientation?
Peter Filipov
Telerik team
 answered on 04 Dec 2012
1 answer
58 views
I have a Rad combo box that when you type it starts completing sentences instead of just marking the one that is most similar.

<telerik:RadComboBox ID="rcbSiteSearch" runat="server" Width="190px" Height="100px" EnableLoadOnDemand="True" ShowMoreResultsBox="true" MarkFirstMatch="true" AllowCustomText="true" EnableVirtualScrolling="true" OnItemsRequested="rcbSiteSearch_ItemsRequested" />


Protected Sub rcbSiteSearch_ItemsRequested(ByVal sender As Object, ByVal e As RadComboBoxItemsRequestedEventArgs)
        Const ItemsPerRequest As Integer = 5
        Dim data As DataTable = GetSiteName(e.Text)
 
        Dim itemOffset As Integer = e.NumberOfItems
        Dim endOffset As Integer = Math.Min(itemOffset + ItemsPerRequest, data.Rows.Count)
        e.EndOfItems = endOffset = data.Rows.Count
 
        For i As Integer = itemOffset To endOffset - 1
            rcbSiteSearch.Items.Add(New RadComboBoxItem(data.Rows(i)("name").ToString(), data.Rows(i)("value").ToString()))
        Next
 
        e.Message = GetStatusMessage(endOffset, data.Rows.Count)
    End Sub
    Private Shared Function GetSiteName(ByVal text As String) As DataTable
        Dim StateCode As String = "pa"
        Dim connectionString As String = *Connection String*
        Dim QueryStr As String = *QUERY*
        Dim adapter As New SqlDataAdapter(QueryStr,connectionString)
        Dim Data As New DataTable()
        Try
            adapter.Fill(Data)
        Catch ex As Exception
            Call MsgBox(String.Format("Unexpected Error: {0}", ex.ToString()), 0, "Unexpected Search Error")
        End Try
        Return Data
    End Function
    Private Shared Function GetStatusMessage(ByVal offset As Integer, ByVal total As Integer) As String
        If total <= 0 Then
            Return "No matches"
        End If
 
        Return [String].Format("Items <b>1</b>-<b>{0}</b> out of <b>{1}</b>", offset, total)
    End Function
Boyan Dimitrov
Telerik team
 answered on 04 Dec 2012
2 answers
111 views
I am using a grid control and when I enable the show group panel and enable that functionality, my columns are shrunk down to fit in the window. There is no overflow shown at all. This issue can be resolved by putting the browser (IE) in to IE8 compatibility Mode with and IE 8 Document Mode. The issue with this is when I make this change, the columns in my grid no longer line up with the header. This issue goes away completely if I remove static headers and scrolling but I need both of those things. This is the grid creation code from the code behind in C#:
protected virtual void SetupGridProperties(int pageSize)
        {
            _gridObj.Width = Unit.Percentage(97);
            _gridObj.Height = Unit.Percentage(95);
 
            _gridObj.ID = "gridRpt";
            _gridObj.Skin = ConfigurationManager.AppSettings.Get("WebGridStyle");
 
            _gridObj.AllowPaging = true;
            _gridObj.PageSize = pageSize;
            _gridObj.PagerStyle.Mode = GridPagerMode.NextPrevNumericAndAdvanced;
            _gridObj.PagerStyle.Position = GridPagerPosition.Top;
            _gridObj.PagerStyle.AlwaysVisible = false;
            
            _gridObj.AllowSorting = true;
            _gridObj.GridLines = GridLines.Both;
 
 
            _gridObj.AllowMultiRowSelection = false;
 
             
            _gridObj.ClientSettings.AllowColumnsReorder = true;
            _gridObj.ClientSettings.ColumnsReorderMethod = GridClientSettings.GridColumnsReorderMethod.Reorder;
             
            _gridObj.ClientSettings.Selecting.AllowRowSelect = true;
            _gridObj.ClientSettings.Selecting.CellSelectionMode = GridCellSelectionMode.SingleCell;
            _gridObj.ClientSettings.Selecting.CellSelectionMode = GridCellSelectionMode.MultiCell;
           // _gridObj.ClientSettings.Selecting.AllowCellSelect = true;
           // _gridObj.ClientSettings.Selecting.AllowMultiCellSelect = true;
 
            _gridObj.ClientSettings.ClientEvents.OnGridCreated = "gridRpt_GridCreated";
            //_gridObj.ClientSettings.ClientEvents.OnRowMouseOver = "_gridObj_RowMouseOver";
            _gridObj.ClientSettings.ClientEvents.OnRowSelecting = "gridRpt_OnRowSelecting";
            _gridObj.ClientSettings.ClientEvents.OnRowDeselecting = "gridRpt_OnRowDeSelecting";
            _gridObj.ClientSettings.ClientEvents.OnRowClick = "gridRpt_OnRowClick";
 
            //_gridObj.ClientSettings.Resizing.AllowRowResize = true;
 
            _gridObj.ClientSettings.Scrolling.AllowScroll = true;
            _gridObj.ClientSettings.Scrolling.UseStaticHeaders = true;
              
 
            _gridObj.GroupPanel.Visible = false;
            _gridObj.ClientSettings.AllowDragToGroup = true;
 
            _gridObj.GroupingEnabled = true;
            _gridObj.ShowGroupPanel = true;
            _gridObj.GroupPanel.Enabled = true;
 
            _gridObj.MasterTableView.TableLayout = GridTableLayout.Auto;
             
 
 
 
            _gridObj.ItemStyle.VerticalAlign = VerticalAlign.Middle;
 
            //this._gridObj.ExportSettings.IgnorePaging = true;
            //this._gridObj.ExportSettings.OpenInNewWindow = true;
            //this._gridObj.ExportSettings.IgnorePaging = true;
 
            _gridObj.MasterTableView.SortExpressions.AllowNaturalSort = false;
 
 
            _gridObj.MasterTableView.HierarchyLoadMode = GridChildLoadMode.ServerBind;
 
            _gridObj.AutoGenerateColumns = false;
            _gridObj.MasterTableView.AutoGenerateColumns = false;
 
 
        }


This is a link to what I am seeing: BROKEN GRID . This only happens when I drag a column to group by.
Pavlina
Telerik team
 answered on 04 Dec 2012
7 answers
543 views
I am facing an issue while using RadGrid. I need horizontal scroll within grid because I have too many columns to show in the grid  and control is providing me that which good enough for me. Problem is that grid is causing horizontal scroll on page and which is very odd for application view. can anybody help me out for this?
Pavlina
Telerik team
 answered on 04 Dec 2012
3 answers
96 views
Hi,
when I upload the image is sent but does not appear radprogressarea, why?

<form id="form1" runat="server">
    <div>
         <telerik:RadScriptManager ID="RadScriptManager1" Runat="server">
        </telerik:RadScriptManager>
        <telerik:RadProgressManager ID="RadProgressManager1" Runat="server" />
        <br />
        <table style="width:100%;">
            <tr>
                <td>
                    <telerik:RadUpload ID="RadUpload1" Runat="server"
                        AllowedFileExtensions=".jpg,.jpeg" OverwriteExistingFiles="True"
                        TargetFolder="image/image_utenti">
                    </telerik:RadUpload>
                </td>
                <td>
                    <asp:Label ID="Label1" runat="server" Text="Nessun file caricato"></asp:Label>
                </td>
            </tr>
            <tr>
                <td>
                    <telerik:RadProgressArea ID="RadProgressArea1" Runat="server">
                    </telerik:RadProgressArea>
                </td>
                <td>
                    <asp:Repeater ID="Repeater1" runat="server" Visible="False">
                                        <HeaderTemplate>
                                        <div class="title">
                                        File caricato:</div>
                                        </HeaderTemplate>
                                        <ItemTemplate>
                                            <%#DataBinder.Eval(Container.DataItem, "FileName")%>
                                            <%#DataBinder.Eval(Container.DataItem, "ContentLength").ToString() + " bytes"%>
                                            <br />
                                        </ItemTemplate>
                    </asp:Repeater>
                </td>
            </tr>
            <tr>
                <td>
                    <asp:Button ID="Button1" runat="server" Text="Button" />
                </td>
                <td>
                     </td>
            </tr>
        </table>
     
    </div>
    </form>

Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.IO
Imports System.Web
Imports System.Web.SessionState
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports Telerik.Web.UI
Public Class UploadImgCard
    Inherits System.Web.UI.Page
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 
    End Sub
 
    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If RadUpload1.UploadedFiles.Count > 0 Then
            Repeater1.DataSource = RadUpload1.UploadedFiles
            Repeater1.DataBind()
            Label1.Visible = False
            Repeater1.Visible = True
        Else
            Label1.Visible = True
            Repeater1.Visible = False
        End If
    End Sub
    Private callBack As CacheItemRemovedCallback
    Private Sub AddDeleteDependencyForFile(ByVal uploadedFileCollection As UploadedFileCollection)
        Dim uploadedFile As UploadedFile
        For Each uploadedFile In uploadedFileCollection
            Dim timeOut As TimeSpan = TimeSpan.FromMinutes(5)
 
            callBack = New CacheItemRemovedCallback(AddressOf DeleteFile)
 
            Dim fullPath As String = Path.Combine(Server.MapPath(RadUpload1.TargetFolder), uploadedFile.GetName())
 
            Context.Cache.Insert(uploadedFile.FileName, fullPath, Nothing, DateTime.Now.Add(timeOut), TimeSpan.Zero, CacheItemPriority.Default, callBack)
        Next
    End Sub
    Private Sub DeleteFile(ByVal key As String, ByVal path As Object, ByVal reason As CacheItemRemovedReason)
        File.Delete(DirectCast(path, String))
    End Sub
    Protected Sub RadUpload1_FileExists(sender As Object, e As Telerik.Web.UI.Upload.UploadedFileEventArgs) Handles RadUpload1.FileExists
        Dim counter As Integer = 1
 
        Dim file As UploadedFile = e.UploadedFile
 
        Dim targetFolder As String = Server.MapPath(RadUpload1.TargetFolder)
 
        Dim targetFileName As String = Path.Combine(targetFolder, file.GetNameWithoutExtension() + counter.ToString() + file.GetExtension())
 
        While System.IO.File.Exists(targetFileName)
            counter += 1
            targetFileName = Path.Combine(targetFolder, file.GetNameWithoutExtension() + counter.ToString() + file.GetExtension())
        End While
 
        file.SaveAs(targetFileName)
 
    End Sub
End Class
Kate
Telerik team
 answered on 04 Dec 2012
8 answers
416 views
I have a very simple test page that contains the following:
RadAjaxManager
RadScriptManager
RadUpload
RadWindowManager
input type="button" x 2

The input buttons fire client-side events that cause an ajaxRequest.
This only works with the first ajaxRequest. Thereafter the  $find("<%= RadAjaxManager1.ClientID %>"); does not find the RadAjaxManager

<head runat="server"
    <title></title
    <telerik:RadCodeBlock ID="cb1" runat="server"
 
        <script type="text/javascript"
 
            function InitiateAjaxRequest(arguments) { 
                var ajaxManager = $find("<%= RadAjaxManager1.ClientID %>"); 
                if (ajaxManager) ajaxManager.ajaxRequest(arguments); 
            }            
          
        </script> 
 
    </telerik:RadCodeBlock> 
</head> 
<body> 
    <form id="form1" runat="server"
    <div> 
 
        <script type="text/javascript"
 
            function OnClientFileSelected(radUpload, eventArgs) { 
                var input = eventArgs.get_fileInputField(); 
                var FileString = "UploadFile" + "|" + input.value; 
                InitiateAjaxRequest(FileString); 
            } 
 
            function confirmCallBackFn(arg) { 
                result = radalert("Confirm returned the following result: " + arg); 
                InitiateAjaxRequest('confirm|' + result); 
            } 
 
        </script> 
 
        <div> 
            <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest"
            </telerik:RadAjaxManager> 
            <telerik:RadScriptManager ID="RadScriptManager1" runat="server"
            </telerik:RadScriptManager> 
        </div> 
        <div> 
            <telerik:RadUpload ID="RadUpload1" runat="server" Skin="Forest" OnClientFileSelected="OnClientFileSelected"
            </telerik:RadUpload> 
        </div> 
        <div> 
            <telerik:RadWindowManager ID="RadWindowManager1" runat="server"
            </telerik:RadWindowManager> 
        </div> 
        <div> 
            <input id="Button1" type="button" value="clientside button" onclick="javascript:InitiateAjaxRequest('btn|a');" /> 
        </div> 
        <div> 
            <input id="Button2" type="button" value="show CONFIRM BOX" onclick="radconfirm('Are you sure?', confirmCallBackFn); return false;" /> 
        </div> 
 
    </div> 
    </form> 
</body> 
I have tried the  setTimeout("InitiateAjaxRequest(FileString);", 0); trick but it does not make a difference.


Gotcha
Top achievements
Rank 1
 answered on 04 Dec 2012
1 answer
175 views
I have a page where the user can change an address, and when they click Update, I need to run some javascript on the page to ask if they want to change some related addresses, THEN run the code on the server.

So on the .aspx page I have a javascript function:

 

 

 

function confirmAddressChange()
{
    if (document.forms[0].hfAddressChange.value =="")
    
     var res = (confirm('Update Contact Addresses to Match?')==true);
     document.forms[0].hfAddressChange.value = res;    
    }
    return true;
}

and on the RadMenuItem I have:  BTW, I've tried onClick, onItemClick, onclick and the one in the code now.

 

<rad:RadMenuItem ID="rmitmUpdateInfo" runat="server" ImageUrl="~/Images_ABL_Std/Grid/Update.gif"
    Text="Update" Value="update" ToolTip="Accept changes" OnClientItemClicking ="confirmAddressChange()">
</rad:RadMenuItem>

What I need to happen is to have the page run the javascript, where I set the value of a hidden field, then run the server code.  At this point it skips the javascript and goes directly to the server code.

Anyone have a suggestion or answer?

Thanks.

 

Boyan Dimitrov
Telerik team
 answered on 04 Dec 2012
1 answer
53 views
Is this function disable?  I need to post a PNG file when I reply on the forum.
Plamen
Telerik team
 answered on 04 Dec 2012
1 answer
137 views
Hi All,

I have a problem regarding javascript. When I am using external javascript(for validation purpose) in aspx page, its working fine. But when i am using external javascript to validate telerik controls, it is showing some errors. So kindly guide me how I can solve my issue.


// This following code works fine.
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
        <script language="javascript" type="text/javascript">
            function Delete_Confirm(sender, args) {
                var selRowCount = -1;
                selRowCount = $find("<%=rgDocument.ClientID %>").get_masterTableView().get_selectedItems().length;

                if (selRowCount > 0) {
                    radconfirm('Sure to delete?', deleteConfirmCallbackFn, 330, 100, null, 'Example', null);
                }
            }

            function deleteConfirmCallbackFn(args) {
                if (args) {
                    __doPostBack('toolBar', 'Delete');
                }
            }
        </script>
    </telerik:RadCodeBlock>


Now i have written the above script in "CommonJS.js" and included it in to "RadCodeBlock". But I am getting the error "function not defined.".


<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
        <script type="text/javascript" src="js/CommonJS.js"></script>
                
        </script>
    </telerik:RadCodeBlock>


Thanks and Regards
Shajan P K
Eyup
Telerik team
 answered on 04 Dec 2012
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?