c# – 检查DataGridView上的所有Checkbox项目

c# – 检查DataGridView上的所有Checkbox项目,第1张

概述这是场景. 我有复选框(名称:“全部检查”ID:chkItems)和datagridview.当我点击这个复选框时,也会检查datagridview上的所有复选框. 我还在网格上添加了复选框列. DataGridViewCheckBoxColumn CheckboxColumn = new DataGridViewCheckBoxColumn();CheckBox chk = new Check 这是场景.

我有复选框(名称:“全部检查”ID:chkItems)和datagrIDvIEw.当我点击这个复选框时,也会检查datagrIDvIEw上的所有复选框.

我还在网格上添加了复选框列.

DataGrIDVIEwCheckBoxColumn CheckBoxColumn = new DataGrIDVIEwCheckBoxColumn();CheckBox chk = new CheckBox();CheckBoxColumn.WIDth = 20;GrIDVIEw1.Columns.Add(CheckBoxColumn);

这是复选框背后的代码. row.Cell上有一个问题

private voID chkItems_CheckedChanged(object sender,EventArgs e){    foreach (DataGrIDVIEwRow row in GrIDVIEw1.Rows)    {        DataGrIDVIEwCheckBoxCell chk = e.row.Cells(0);        if (chk.Selected == false)        {            row.Cells(0).Value = true;        }    }}

已解决(这是解决方案)

private voID chkItems_CheckedChanged(object sender,EventArgs e){       foreach (DataGrIDVIEwRow row in GrIDVIEw1.Rows)    {        DataGrIDVIEwCheckBoxCell chk = (DataGrIDVIEwCheckBoxCell)row.Cells[1];        if (chk.Selected == false)        {            chk.Selected = true;        }    } }
解决方法
DataGrIDVIEwCheckBoxCell chk = (DataGrIDVIEwCheckBoxCell) row.Cells[0];

代替

DataGrIDVIEwCheckBoxCell chk = e.row.Cell(0);

*编辑:*我认为你真的想这样做:

foreach (DataGrIDVIEwRow row in dataGrIDVIEw1.Rows){       DataGrIDVIEwCheckBoxCell chk = (DataGrIDVIEwCheckBoxCell) row.Cells[0];       chk.Value = !(chk.Value == null ? false : (bool) chk.Value); //because chk.Value is initialy null}
总结

以上是内存溢出为你收集整理的c# – 检查DataGridView上的所有Checkbox项目全部内容,希望文章能够帮你解决c# – 检查DataGridView上的所有Checkbox项目所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: http://outofmemory.cn/langs/1223590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存