Winform 中,批量删除数据时,需要遍历checkbox列是否被选中,如何获取被选中的行的索引
获取被选中的行的索引时,是不是得要遍历checkbox列,如何得到索引值,这个值是固定的还是可变的?...
获取被选中的行的索引时,是不是得要遍历checkbox列,如何得到索引值,这个值是固定的还是可变的?
展开
1个回答
2014-03-12
展开全部
多行索引,就是数据库中的ID或者主键一类的。
选中一个,那么id=1
选中两个,那么id=1 and id=2
选中几个,那就有多少个索引。
当前的话,就直接获取。
多行的话,就循环遍历下咯/
参考个代码:
private string GetSelectedItemID(string controlID)
{
String selectedID;
selectedID = "";
//遍历DataGrid获得checked的ID
foreach (GridViewRow row in gvFlowList.Rows)
{
if (((CheckBox)row.FindControl(controlID)).Checked == true)
selectedID += gv.DataKeys[row.RowIndex].Value + ",";
}
if (selectedID.Length > 0)
selectedID = selectedID.Substring(0, selectedID.Length - 1);
return selectedID;
}
调用方法时:
GetSelectedItemID(此处放置checkbox的ID);
数据库写法:
DELETE FROM T_Sys_Assgn_Rule WHERE rule_id IN ('+selectedID+')
选中一个,那么id=1
选中两个,那么id=1 and id=2
选中几个,那就有多少个索引。
当前的话,就直接获取。
多行的话,就循环遍历下咯/
参考个代码:
private string GetSelectedItemID(string controlID)
{
String selectedID;
selectedID = "";
//遍历DataGrid获得checked的ID
foreach (GridViewRow row in gvFlowList.Rows)
{
if (((CheckBox)row.FindControl(controlID)).Checked == true)
selectedID += gv.DataKeys[row.RowIndex].Value + ",";
}
if (selectedID.Length > 0)
selectedID = selectedID.Substring(0, selectedID.Length - 1);
return selectedID;
}
调用方法时:
GetSelectedItemID(此处放置checkbox的ID);
数据库写法:
DELETE FROM T_Sys_Assgn_Rule WHERE rule_id IN ('+selectedID+')
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询