我使用RadGrid创建了4个表。它们每个都包含一个项目列表,我有一个标题和ID。我希望有一个带有“删除”链接的列,该链接将触发一个事件处理程序,我将在其中编写代码以从db中删除此ID。
每个表在db中都有一个单独的表,所以我需要知道哪个表触发了处理程序以及它对应的id。
另一个小问题是,我应该包含哪些内容,以便visual studio将GridCommandEventArgs识别为类型?
答案 0 :(得分:3)
你的问题有点令人困惑。您可以使用DeleteCommand获取行的ID并将其删除。
<telerik:RadGrid ID="RadGrid1" runat="server"
OnDeleteCommand="RadGrid1_DeleteCommand"
OnNeedDataSource="RadGrid1_NeedDataSource">
<MasterTableView DataKeyNames="Id" CommandItemDisplay="Top">
<Columns>
<telerik:GridButtonColumn ButtonType="ImageButton"
ConfirmText="Are you sure you want to delete?"
CommandName="Delete" ImageUrl="~/Images/Delete.png"
Text="Click to delete" UniqueName="Delete">
</telerik:GridButtonColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
protected void RadGrid1_DeleteCommand(object source, GridCommandEventArgs e)
{
int id = Convert.ToInt32(e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["id"]);
// Do delete based on the given id
}