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