Winform 中,批量删除数据时,需要遍历checkbox列是否被选中,如何获取被选中的行的索引

Winform 中,批量删除数据时,需要遍历checkbox列是否被选中,如何获取被选中的行的索引,第1张

多行索引,就是数据库中的ID或者主键一类的。

选中一个,那么id=1

选中两个,那么id=1 and id=2

选中几个,那就有多少个索引。

当前的话,就直接获取。

多行的话,就循环遍历下咯/

参考个代码:

private string GetSelectedItemID(string controlID)

{

String selectedID;

selectedID = "";

//遍历DataGrid获得checked的ID

foreach (GridViewRow row in gvFlowListRows)

{

if (((CheckBox)rowFindControl(controlID))Checked == true)

selectedID += gvDataKeys[rowRowIndex]Value + ",";

}

if (selectedIDLength > 0)

selectedID = selectedIDSubstring(0, selectedIDLength - 1);

return selectedID;

}

调用方法时:

GetSelectedItemID(此处放置checkbox的ID);

数据库写法:

DELETE FROM T_Sys_Assgn_Rule WHERE rule_id IN ('+selectedID+')

datagrid一旦与数据集合绑定之后,它的每个Row其实就跟每个数据实体绑定了。也就是说datagridrowdataContext就是一个数据实体。而且wpf的逻辑树机制,使得datagridcelldataContext及这些个datagridcell里的控件的dataContext也是所在行所绑定的数据实体。

你获取到check过的checkbox,你可以通过(checkboxdataContext as 数据实体类)ID 获取ID值

思路:通过 :checked 筛选 checkbox 选中项,然后进行遍历,利用节点关系获取到input对象,最后使用val()方法获取input的内容。实例演示如下:

1、HTML结构

<table>

<tr>

<td><input type="checkbox" name="test"></td>

<td><input type="text"></td><td><input type="text"></td>

</tr>

<tr>

<td><input type="checkbox" name="test"></td>

<td><input type="text"></td><td><input type="text"></td>

</tr>

</table>

<input type="button" value="确定">

2、jquery代码

$(function(){

$(":button")click(function() {

// 找到选中行的input

var ipts = $(":checkbox:checked")parents("tr")find("input:text");

// 遍历input并使用val()方法获取值

str = map(function() {return $(this)val();})get()join(", ");

alert(str);

});

});

1.HTML结构

< input type = "checkbox" name = "test" value = "1" / > < span > 1 < / span >

< input type = "checkbox" name = "test" value = "2" / > < span > 2 < / span >

< input type = "checkbox" name = "test" value = "3" / > < span > 3 < / span >

< input type = "checkbox" name = "test" value = "4" / > < span > 4 < / span >

< input type = "checkbox" name = "test" value = "5" / > < span > 5 < / span >

2.Javascript代码:

函数show(){

Obj文件。getElementsByName(“测试”);

Check_val=[];

For(kinobj){

如果(obj[k]。检查)

Check_val。Push(obj[k]。值);

警报(check_val);

扩展资料:

JQuery对复选框的各种 *** 作:

1.根据id获取复选框:

$("#cbCheckbox1");

2.得到所有的复选框:

$("input[type='checkbox']");//或

$("input[name='cb']");

3.获得所有选中的复选框:

$("input:thecheckboxchecked");//或

$("input:[type='checkbox']:checked");//或

$("input[type='checkbox]:checked");//或

$("input:[name='ck']:checked");

用 raize控件好了 RzCheckGroup控件

var

i:integer;

Str:String;

begin

Str:='';

for i:=0 to RzCheckGroup1ItemsCount-1 do

begin

if RzCheckGroup1ItemChecked[i] then

str:=str+RzCheckGroup1ItemsStrings[i];

end;

showmessage(str);

end;

如果不用raize

那就定义checkbox的名字 依次为 checkBox1 checkBox2 checkBox3 checkBox4

var

i:integer;

Str:String;

begin

Str:='';

for i:=1 to 4 do

begin

if TCheckBox(FindComponent('checkBox'+inttostr(i)))Checked then

str:=str+TCheckBox(FindComponent('checkBox'+inttostr(i)))Caption;

end;

showmessage(str);

end;

<body> 

<input type="checkbox" id="a" value="1" />1  <br />

<input type="checkbox" id="a" value="2" />2  <br />

<input type="checkbox" id="a" value="3" />3  <br />

<input type="checkbox" id="a" value="4" />4  <br /> 

<input type="button" onclick="checkBtn()" value="获取复选框选择的值" /> 

</body>

<script>  

function checkBtn() { 

$(":checked")each(function(i){

alert($(this)val());

});

</script>

上面的checkbox也要放进一个集合里面,查询接口定义为

ilist<string> search(ilist<string> extensions)

function getCheckboxs() {

            var chks = documentquerySelectorAll('input[type="checkbox"]');

            var result = [];

            for (var i = 0; i < chkslength; i++) {

                var chk = chks[i];

                resultpush(chkchecked);

            } 

            return result;

        }

以上就是关于Winform 中,批量删除数据时,需要遍历checkbox列是否被选中,如何获取被选中的行的索引全部的内容,包括:Winform 中,批量删除数据时,需要遍历checkbox列是否被选中,如何获取被选中的行的索引、WPF在datagrid中checkbox怎么遍历checkbox获取多选的项的ID、怎样获取input为checkbox选中的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9505268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存