【发布时间】:2017-03-03 14:05:16
【问题描述】:
我使用的 RadGrid 具有可编辑的多列(像 excel 一样的 BatchEdit)。
<telerik:RadGrid RenderMode="Lightweight" ID="RadGrid1" runat="server" AutoGenerateColumns="False"GridLines="Both"OnNeedDataSource="RadGrid1_NeedDataSource" AllowAutomaticInserts="True" AllowAutomaticUpdates="True"AllowAutomaticDeletes="True">
<ItemStyle Wrap="false" />
<MasterTableView TableLayout="Fixed" NoMasterRecordsText="" ShowFooter="true" EditMode="Batch">
...
</MasterTableView> </telerik:RadGrid>
RadGrid的数据源是ObjectDataSource
<asp:ObjectDataSource ID="TestSource" runat="server" TypeName="TestClass" SelectMethod="GetAllItems">
<UpdateParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="LastName" Type="String" />
<asp:Parameter Name="BirthData" Type="DateTime" />
</UpdateParameters> </asp:ObjectDataSource>
在 OnNeedDataSource 事件中,我将 ObjectDataSource 的 Id 设置为 RadGrid.DataSourceId。
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
RadGrid1.DataSourceID = "TestSource";
}
在当前页面中,我还有“发送电子邮件”按钮发送 rad gird 插入值。
<asp:Button ID="SendEmail" OnClick="SendEmail_Click" Text="Send" runat="server" />
问题是 SendEmail_Click 上的 DataSource 为空。但我想获得新更改的数据源。
protected void SendEmail_Click(object sender, EventArgs e)
{
RadGrid1.Rebind();
// RadGrid1.Datasource is null
}
我该如何解决这个问题? 非常感谢。
【问题讨论】: