System.ArgumentException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message : An item with the same key has already been added."
.I have tried a lot to solve this issue ,But all gone in vain.
Atlast I have commented all the Gridcalculated column codes.Then grid works fine.Problem is only with the grid calculated column.
I am using master pagein my webpage.
Please Help me to solve this issue,it very urgent.
| objReturn = New Telerik.Web.UI.RadDateTimePicker |
| With DirectCast(objReturn, Telerik.Web.UI.RadDateTimePicker) |
| .AutoPostBack = True |
| .CssClass = v_drControl("cCss_class").ToString |
| .SharedCalendarID = "calShared" '<-- The name of my RadCalendar |
| .SharedTimeViewID = "tvShared" '<-- The name of my RadTimeView |
| .Skin = "CHCA" |
| .EnableEmbeddedSkins = False |
| .TabIndex = CType(v_intTabIndex, Short) |
| End With |
Dear Telerik,
I am facing big blow in my applications performance with NestedGrid.
I am having the parent grid and it has four nested grids. Each nested grid placed in each tab section with the help of multipage.
As per the Telerik direction I used the Parentgrid’s pre_render event to bind all the child or nested grids as the code given below
| protected void ParentGrid_PreRender(object sender, EventArgs e) |
| { |
| foreach (GridDataItem item in ParentGrid.MasterTableView.Items) |
| { |
| if (item.Expanded) |
| { |
| //foreach (GridNestedViewItem item1 in RadFirmGrid.MasterTableView.GetItems(GridItemType.NestedView)) |
| //{ |
| GridNestedViewItem item1 = RadFirmGrid.MasterTableView.GetItems(GridItemType.NestedView)[item.ItemIndex] as GridNestedViewItem; |
| // Binding Cutomer grid |
| RadGrid Child1 = (RadGrid)item1.FindControl("Customer"); |
| // Binding Products grid |
| RadGrid Child2 = (RadGrid)item1.FindControl("Products"); |
But my application seemed is loading very slowly for each time the operation of grids or child grids Edit, grouping/sorting operation has been done. Because it calls parent grids pre_render event, then binds all the child grids again.
Note: Based on the above mentioned code logic, the grids expanded loops to be done as much of the time number of items I expanded. So again binding occurs as much time.
So how can I make my application more optimistic? Whether it would be ok if I bind the nested grid for each respective tab is selected. if i did that will the performance be ok. If so how can I achieve it?
So please direct me to solve the issue of performance with some sample of code.
Help would be appreciated..
Regards,
John| <%@ Page Language="C#" AutoEventWireup="true" CodeFile="FXRateSummary.aspx.cs" Inherits="DCCPP.Currency.Views.FXRateSummary" |
| Title="Global Refund DCCPP - Currency - FX Rate Summary" MasterPageFile="~/Shared/DCCPPMaster.master" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <asp:Content ID="content" ContentPlaceHolderID="DCCPPMasterContent" runat="Server"> |
| <script type="text/javascript"> |
| function OnClientTimeSlotClick(sender, eventArgs) { |
| //alert(eventArgs.get_time());eventArgs.get_time().toLocaleString()); |
| var dt = new Date(); |
| var dt2 = new Date(); |
| dt2 = eventArgs.get_time(); |
| if (dt2 > dt) { |
| alert("You can't not enter FXRate for future date."); |
| return false; |
| } |
| window.radopen("../Currency/FxRateEntry.aspx?Date=" + eventArgs.get_time().toLocaleString(), "dwFxRateEntry"); |
| return false; |
| } |
| function refreshGrid(arg) { |
| if (!arg) { |
| $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("Rebind"); |
| } |
| else { |
| $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("RebindAndNavigate"); |
| } |
| } |
| </script> |
| <telerik:RadSplitter ID="RadSplitter2" runat="server" Width="100%" VisibleDuringInit="true" Skin="Office2007"> |
| <telerik:RadSplitBar ID="RadSplitBar1" runat="server" /> |
| <telerik:RadPane ID="RadPane1" runat="server" Scrolling="None" BorderColor="#6C91C0"> |
| <telerik:RadSplitter ID="RadSplitter1" runat="server" Orientation="Horizontal" Width="100%" |
| BorderColor="#6C91C0"> |
| <telerik:RadSplitBar ID="Radsplitbar3" runat="server"></telerik:RadSplitBar> |
| <telerik:RadPane ID="Radpane3" runat="server"> |
| <div style="padding: 5px"> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="Panel1" |
| LoadingPanelID="RadAjaxLoadingPanel1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="rdScheduler"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="Panel1" |
| LoadingPanelID="RadAjaxLoadingPanel1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <asp:Panel ID="Panel1" runat="server"> |
| <telerik:RadScheduler runat="server" ID="rdScheduler" Width="100%" Height="95%" ShowViewTabs="false" |
| DataKeyField="ID" DataSubjectField="Subject" |
| DataStartField="Start" DataEndField="End" DataRecurrenceField="RecurrenceRule" DataRecurrenceParentKeyField="RecurrenceParentID" |
| SelectedView="MonthView" OnClientTimeSlotClick="OnClientTimeSlotClick" |
| AllowDelete="False" AllowEdit="False" AllowInsert="False" |
| EnableAdvancedForm="False" EnableResourceEditing="False" |
| StartEditingInAdvancedForm="False" |
| onappointmentdatabound="rdScheduler_AppointmentDataBound" Skin="Office2007" |
| OverflowBehavior="Scroll" onformcreating="rdScheduler_FormCreating" |
| ontimeslotcreated="rdScheduler_TimeSlotCreated" > |
| <ResourceTypes> |
| <telerik:ResourceType KeyField="ProcessLogID" ForeignKeyField="ProcessLogID" Name="ProcessType" TextField="ProcessType" /> |
| </ResourceTypes> |
| </telerik:RadScheduler> |
| </asp:Panel> |
| </div> |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| <telerik:RadWindowManager id="SingletonContent" runat="server" Skin="Office2007" DestroyOnClose="false" VisibleStatusbar="false"> |
| <windows> |
| <telerik:RadWindow id="dwFxRateEntry" |
| Skin="Office2007" |
| ReloadOnShow = "true" |
| Left="5px" |
| Modal = "true" |
| Runat="server" |
| Width="700px" |
| Height="500px" |
| Title="FX Rate Listing"> |
| </telerik:RadWindow> |
| </windows> |
| </telerik:RadWindowManager> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Height="75px" Width="75px"> |
| <img alt="Loading..." src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading.gif") %>' style="border:0;" /> |
| </telerik:RadAjaxLoadingPanel> |
| </asp:Content> |
