嗨,我有一个使用 Telerik RadGrid 的 DNN 应用程序。我们正在从 Grid 中导出一些数据,但是当我们深入研究网格控件并导出数据时,我们只能看到初始顶级数据,而不是更新后的 Grid。这是我的表格标签和支持代码。我不是 ASPX/C# 方面的专家,所以请原谅我的新手。
<mastertableview autogeneratecolumns="False" datakeynames="AccountId" datasourceid="SqlDataSource1"
groupsdefaultexpanded="False">
<DetailTables>
<telerik:GridTableView runat="server" DataKeyNames="StatementId" DataSourceID="SqlDataSource2"
Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" >
<DetailTables>
<telerik:GridTableView runat="server" DataSourceID="SqlDataSource3" Font-Bold="False"
Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
GroupsDefaultExpanded="False" ShowFooter="True" ShowGroupFooter="True" AllowMultiColumnSorting="True"
GridLines="None">
<ParentTableRelation>
<telerik:GridRelationFields DetailKeyField="StatementId" MasterKeyField="StatementId" />
</ParentTableRelation>
<AlternatingItemStyle BackColor="White" Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" Wrap="True" />
<HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" Wrap="True" />
<FooterStyle BackColor="Yellow" Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" Wrap="True" />
</telerik:GridTableView>
</DetailTables>
<ParentTableRelation>
<telerik:GridRelationFields DetailKeyField="AccountId" MasterKeyField="AccountId" />
</ParentTableRelation>
<CommandItemSettings ExportToPdfText="Export to Pdf" />
<ExpandCollapseColumn Visible="True">
</ExpandCollapseColumn>
</telerik:GridTableView>
</DetailTables>
<ParentTableRelation>
<telerik:GridRelationFields DetailKeyField="AccountId" MasterKeyField="AccountId" />
</ParentTableRelation>
<ExpandCollapseColumn Visible="True">
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn DataField="ACCOUNTID" DataType="System.Int32" HeaderText="ACCOUNTID"
SortExpression="ACCOUNTID" UniqueName="ACCOUNTID">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="ACCOUNTREF" HeaderText="ACCOUNTREF" SortExpression="ACCOUNTREF"
UniqueName="ACCOUNTREF">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="CUSTOMERID" DataType="System.Int32" HeaderText="CUSTOMERID"
SortExpression="CUSTOMERID" UniqueName="CUSTOMERID">
</telerik:GridBoundColumn>
</Columns>
</mastertableview>
导出在加载时向脚本管理器注册:
protected void Page_Load(object sender, EventArgs e)
{
Button2.Enabled = Session[UserSelection.SelectedValue] != null ? true : false;
ScriptManager.GetCurrent(Page).RegisterPostBackControl(Button3);
ScriptManager.GetCurrent(Page).RegisterPostBackControl(Button4);
}
我用以下内容调用导出:
protected void Button3_Click(object sender, System.EventArgs e)
{
//ConfigureExport();
RadGrid1.Rebind();
RadGrid1.ExportSettings.FileName = "RadGridExportToExcel";
RadGrid1.ExportSettings.ExportOnlyData = true;
RadGrid1.ExportSettings.OpenInNewWindow = true;
RadGrid1.MasterTableView.ExportToExcel();
}
除了 DNN/ASPX 经验和生存意愿之外,谁能看到我所缺少的东西:)