在项目中,需要多选功能,于是在datagridview添加了一列DataGridViewCheckBoxColumn

在给datagridview绑定完数据集之后,对全选进行操作的时候,发现总报错,报错内容如下:

不能设置 selected 

selected 既不是表 Table 的 DataColumn 也不是 DataRelation。

在看到第一个错误信息的时候还有点懵,不知道是什么地方错了,导致不能设置,可是第二个错误一出来,马上就清楚明白了。原来是datagridview绑定的数据集没有selected这个字段。

知道原因,就好解决了,我们只需在绑定数据集之前,往里面添加selected即可。

加完之后就不报错啦。

附:加全选的代码:

 #region CheckBox的添加
//在左上角做一个全选
ckBox = new CheckBox();
Rectangle rect = dgv_drug_dict.GetCellDisplayRectangle(CSelect.Index, -, false);
ckBox.Size = new Size(, dgv_drug_dict.ColumnHeadersHeight - );
ckBox.AutoSize = true;
rect.Y += ;
ckBox.Location = rect.Location;
ckBox.Text = this.CSelect.HeaderText;
CSelect.HeaderText = "";
this.dgv_drug_dict.Controls.Add(ckBox);
ckBox.Checked = false;
ckBox.CheckedChanged += new EventHandler(ckBox_CheckedChanged);
#endregion
 /// <summary>
/// 多选框的选择
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void ckBox_CheckedChanged(object sender, EventArgs e)
{
DataView dv = (DataView)dgv_drug_dict.DataSource;
if (dv == null) return;
this.dgv_drug_dict.EndEdit();
for (int j = ; j < dv.Count; j++)
{
if (this.ckBox.Checked)
dv[j]["selected"] = "";
else
dv[j][CConst.DGV_SELECTD] = DBNull.Value;
}
this.dgv_drug_dict.EndEdit();
dgv_drug_dict.Invalidate();
}

winform datagridview在添加全选checkbox时提示:不能设置 selected 或 selected 既不是表 Table 的 DataColumn 也不是 DataRelation。的更多相关文章

  1. flexigrid扩展(添加全选,格式化表单)

    1.关于flexigrid的属性这里不多说,百度一大把. 这里主要说一个参数process process参数:编写对某一列进行自定义处理的函数 function 方法名(tddiv,pid){}// ...

  2. ASP.NET给DataGrid,Repeater等添加全选批量删除等功能

    很多情况下,在管理或者查看列表的时候我们需要很需要“全选”这个功能,这在ASP.NET中是非常容易实现的,下面我就将演示一点小代码实现这一功能.   实现全选的还是js的一个小函数:   [code] ...

  3. asp:DataGrid之添加asp:CheckBox做全选功能时涉及到绑值问题解决

    最大的意图是为asp:CheckBox的value绑定上自己需要的value值,而不是默认的字符串"on" 参考了这篇文章带Value属性的扩展CheckBox控件,意义不大,换了 ...

  4. 2016/3/30 租房子 ①建立租房子的增、删、改php页面 ②多条件查询 ③全选时 各部分全选中 任意checkbox不选中 全选checkbox不选中

    字符串的另一种写法:<<<AAAA; 后两个AA回车要求顶格  不然报错 例子: <!DOCTYPE html> <html lang="en" ...

  5. GridControl 添加全选列

    这里通过List对象绑定GridControl,且不用在GirdControl界面中添加任何列,实现CheckBox列的方法 1.列表中出现CheckBox列 非常简单,在绑定的List实体中,增加一 ...

  6. Android ListView(Selector 背景图片 全选 Checkbox等按钮)

    list_item.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xm ...

  7. js全选checkbox框

    html: <input  type="checkbox" id="checkbox1" value="1" onclick=&quo ...

  8. Jquery 组 checkbox全选checkbox

    <!DOCTYPE html><html lang="zh-cn"><head> <meta charset="utf-8&qu ...

  9. js实现全选checkbox

    js代码 function selectAllCheckBox(parentid) { var PID = document.getElementById(parentid); var cb = PI ...

随机推荐

  1. mp的猜猜看

    ~~~~|yjb1072452141---dc9339b4c33103abc4919375203e7a24|A1482583628---0142e0b6090b9b2838328445a79cd1b8 ...

  2. webpack配置less

    webpack4.0把webpack.config.js隐藏起来了,需要先暴露出来,在webpack修改配置

  3. redis基础篇

    1.redis常见的数据结构 redis是一种以键值对存储的高性能内存数据库,有五种常用的数据类型,string,list,hash,set,zset. 2.redis的过期时间 redis中的key ...

  4. 【4】学习C++之内存管理

    单个内存申请及释放: int *p = new int; if(p == NULL) { //内存分配失败 //异常处理 } delete p; p = NULL; 内存块的申请及释放: ]; if( ...

  5. word20170104办签证 Visa application有用的词和句子

    有用的词:visa category: 签证类型tourist visa: 旅游签证visa interview: 签证面试multiple entries: 多次往返visa on arrival: ...

  6. sql的四种匹配模式

    1. % 表示任意0个或多个字符.如下语句:Select * FROM user Where name LIKE '%三%'; 将会把name为“张三”,“三脚猫”,“唐三藏”等等有“三”的全找出来. ...

  7. mina statemachine解读(一)

      statemachine(状态机)在维护多状态数据时有非常好的作用,现在github上star排名最前的是squirrel-foundation以及spring-statemachine,而min ...

  8. stylus 实践

    音乐分享: Broken Back - <Halcyon Birds> —————————————————————————————————————————————————————————— ...

  9. Mybatis 笔记

    环境:Mybatis 3 +MariaDB 10.1 似乎在调用存储过程时 ,参数只能写在一行上. 否则会返回语法错误.

  10. Access提示Insert Into 语法错误解决办法总结

    1.关键字:如果你的数据库的表的设计包含了Access包含的关键字,则在插入的时候会出现“Insert Into 语法错误” 例如: string sqlText = String.Format(&q ...