2012-12-22 29 views
0

我使用radgrid控件視圖具有多選擇行刪除多行與radgrid控件

我想刪除radgrid控件

代碼中使用複選框所有選擇的記錄:

<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" 
    OnNeedDataSource="RadGrid1_NeedDataSource" 
    AllowMultiRowSelection="true"> 
    <MasterTableView DataKeyNames="ID"> 
     <Columns> 
      <telerik:GridClientSelectColumn> 
      </telerik:GridClientSelectColumn> 
      <telerik:GridBoundColumn DataField="Name" UniqueName="Name" HeaderText="Name"> 
      </telerik:GridBoundColumn> 
      <telerik:GridEditCommandColumn> 
      </telerik:GridEditCommandColumn> 
     </Columns> 
    </MasterTableView> 
    <ClientSettings> 
     <Selecting AllowRowSelect="true" /> 
    </ClientSettings> 
</telerik:RadGrid> 

.aspx.vb

Protected Sub Button1_Click(sender As Object, e As EventArgs) 
     For Each item As GridDataItem In RadGrid1.SelectedItems 

      If item.Selected Then 

      'Access data key 

      Dim strID As String = item.GetDataKeyValue("ID").ToString() 

      End If 

     NEXT 

     End Sub 

問題是當我使用這種方法獲取選定的行ID來刪除記錄時,它只檢索一個記錄標識並刪除檢索標識的記錄。

例子:我選擇記錄1,2,3,4和點擊刪除按鈕,它是隻刪除與ID = 4

回答

0

記錄我不知道VS基礎非常好。但我可以說的是,你 有鬆動的電流ID的知識在命令

Dim strID As String = item.GetDataKeyValue("ID").ToString() 

中的foreach每次迭代,用新項目ID您strId變量更新。

也許你可以使用CONCAT字符串的方法(可能

strId += item.id 

,以節省您的所有選擇的IDS

0

試試下面的代碼:

protected void Button1_Click(object sender, EventArgs e) 
{ 
    string strID = string.Empty; 

    foreach(GridDataItem grditem in RadGrid.SelectedItems) 
    { 
     if (grditem.Selected) 
     { 
      strID = strID + "," + grditem.GetDataKeyValue("ID").ToString(); 
     } 
    } 

    if (strID != string.Empty) 
    { 
     //your delete logic for db 
     // pass strID it will contain 1,2,3,4 
    } 
}