我正在使用带有多个选择行的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以删除记录时,它只检索一个记录ID,并删除检索到该ID的记录。
示例:我选择了记录1、2、3、4,然后单击删除按钮,使用ID=4仅删除记录
发布于 2012-12-24 02:25:42
我不太了解vs Basic。但我可以说,您在此命令中丢失了当前的ID知识
Dim strID As String = item.GetDataKeyValue("ID").ToString()在foreach中的每一次迭代中,您的strId变量都会更新为新的项id。
也许您可以使用concat字符串方法(可能
strId += item.id保存您选择的所有ids。
发布于 2013-06-22 03:17:09
试试下面的代码:
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
}
}https://stackoverflow.com/questions/14002287
复制相似问题