GridButtonColumn自定义处理程序

时间:2012-06-04 14:30:52

标签: asp.net telerik

我使用RadGrid创建了4个表。它们每个都包含一个项目列表,我有一个标题和ID。我希望有一个带有“删除”链接的列,该链接将触发一个事件处理程序,我将在其中编写代码以从db中删除此ID。

每个表在db中都有一个单独的表,所以我需要知道哪个表触发了处理程序以及它对应的id。

另一个小问题是,我应该包含哪些内容,以便visual studio将GridCommandEventArgs识别为类型?

1 个答案:

答案 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
}