2012-06-04 102 views
0

我有4个使用RadGrid创建的表。他们每个人都包含我有一个标题和ID的项目列表。我想要一个带有“删除”链接的列,该链接将触发一个事件处理程序,其中我将编写代码以从数据库中删除此标识。GridButtonColumn自定义处理程序

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

另一个小问题是,我应该包括什么,以便Visual Studio将GridCommandEventArgs识别为类型?

回答

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 
}