Winform 中,批量删除数据时,需要遍历checkbox列是否被选中,如何获取被选中的行的索引
获取被选中的行的索引时,是不是得要遍历checkbox列,如何得到索引值,这个值是固定的还是可变的?是checkbox,把checkbox加入到datagridview的...
获取被选中的行的索引时,是不是得要遍历checkbox列,如何得到索引值,这个值是固定的还是可变的?
是checkbox,把checkbox加入到datagridview的第一列中,要获取的是 被选中的多行的索引,而不只是当前行的索引 展开
是checkbox,把checkbox加入到datagridview的第一列中,要获取的是 被选中的多行的索引,而不只是当前行的索引 展开
2个回答
展开全部
多行索引,就是数据库中的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+')
展开全部
你搞错了吧,是不是CheckListBox?
http://msdn.microsoft.com/en-us/library/system.windows.forms.checkedlistbox.aspx
看看这个,对你有帮助
http://msdn.microsoft.com/en-us/library/system.windows.forms.checkedlistbox.aspx
看看这个,对你有帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询