Hi Telerik,
I'm having issues with exporting a radgrid that uses a typedlist as datasource. Everything works fine until a sort a column. When a column is sorted and I export the grid to excel i get this error -> System.Data.RowNotInTableException.
When I use a collection
Stacktrace:
Aspx page:
In the pagePreRender i do this:
RadAjaxManager.GetCurrent(Page).ClientEvents.OnRequestStart = "onRequestStart";
Greetings
Joost
I'm having issues with exporting a radgrid that uses a typedlist as datasource. Everything works fine until a sort a column. When a column is sorted and I export the grid to excel i get this error -> System.Data.RowNotInTableException.
When I use a collection
Stacktrace:
[RowNotInTableException: Deze rij is verwijderd uit een tabel en bevat geen gegevens. Met BeginEdit() kunnen nieuwe gegevens worden gemaakt in deze rij.] System.Data.DataRow.GetDefaultRecord() +6224209 System.Data.DataColumnPropertyDescriptor.GetValue(Object component) +77 Telerik.Web.UI.GridBoundColumn.OnDataBindColumn(Object sender, EventArgs e) +783 System.Web.UI.Control.OnDataBinding(EventArgs e) +132 System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +170 System.Web.UI.Control.DataBindChildren() +11058975 System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +182 Telerik.Web.UI.GridItem.SetupItem(Boolean dataBind, Object dataItem, GridColumn[] columns, ControlCollection rows) +756 Telerik.Web.UI.GridItemBuilder.InitializeItem(Int32 dataSourceIndex, String& nextItemHierarchicalIndex, Boolean& itemIsInEditMode) +192 Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group) +438 Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource) +1048 Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource) +608 System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) +72 System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) +147 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +261 Telerik.Web.UI.GridTableView.PerformSelect() +23 Telerik.Web.UI.GridTableView.DataBind() +363 Telerik.Web.UI.RadGrid.DataBind() +73 Telerik.Web.UI.RadGrid.AutoDataBind(GridRebindReason rebindReason) +2600 Telerik.Web.UI.RadGrid.RebindForExport() +119 Telerik.Web.UI.Grid.Export.TableViewExporter.ExcelExportRenderForm(HtmlTextWriter nullWriter, Control form) +1031 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +115 System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +411 System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +87 System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +53 Telerik.Web.UI.Grid.Export.TableViewExporter.ExcelExportRenderPage(HtmlTextWriter nullWriter, Control page) +145 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +115 System.Web.UI.Page.Render(HtmlTextWriter writer) +38 Telerik.Web.UI.RadAjaxControl.RenderPageInAjaxMode(HtmlTextWriter writer, Control page) +647 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +115 System.Web.UI.Page.Render(HtmlTextWriter writer) +38 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4240
<script type="text/javascript"> function onRequestStart(sender, args) { if (args.get_eventTarget().indexOf("ExportTo") >= 0) { args.set_enableAjax(false); } } </script> <telerik:RadAjaxManagerProxy runat="server" ID="RadAjaxManagerProxy"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="rgPerson"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="rgPerson" LoadingPanelID="RadAjaxLoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManagerProxy> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel" runat="server" /> <telerik:RadGrid ID="rgPerson" GridLines="None" ShowStatusBar="true" AllowPaging="true" PageSize="15" Width="100%" AllowSorting="true" runat="server" AutoGenerateColumns="False" AllowFilteringByColumn="true" OnNeedDataSource="rgPerson_OnNeedDataSource" OnExcelMLExportRowCreated="rgPerson_OnExcelMLExportRowCreated" OnExcelMLExportStylesCreated="rgPerson_OnExcelMLExportStylesCreated"> <MasterTableView Width="100%" CommandItemDisplay="Top" UseAllDataFields="true" > <CommandItemSettings ShowExportToExcelButton="true" ShowAddNewRecordButton="false" /> <Columns> <telerik:GridBoundColumn DataField="Name" UniqueName="FullName" SortExpression="FullName" CurrentFilterFunction="Contains" ShowFilterIcon="false" AutoPostBackOnFilter="true" DataType="System.String" /> </Columns> </MasterTableView> <ExportSettings ExportOnlyData="true" IgnorePaging="true"> <Excel Format="ExcelML"></Excel> </ExportSettings> </telerik:RadGrid> <rm:LLBLGenProDataSource ID="dsOrganisationRole" runat="server" DataContainerType="TypedList" EnablePaging="True" TypedListTypeName="RisycomLLBL.TypedListClasses.DetailOrganisationRoleTypedList, RisycomLLBL"> </rm:LLBLGenProDataSource>In the pagePreRender i do this:
RadAjaxManager.GetCurrent(Page).ClientEvents.OnRequestStart = "onRequestStart";
Greetings
Joost