问题描述
问题:我在datagridview上面手动添加了一列checkbox,如何写代码获取checkbox是否被选中了?this.dgvRights.Rows[0].Cells[3].Value.ToString();这样写就报错了!!!bindRights();//获取数据库内容绑定到datagridviewDataGridViewColumnmyCol=newDataGridViewCheckBoxColumn();myCol.HeaderText="选择列";dgvRights.Columns.Add(myCol);//手动添加一列checkbox
解决方案
解决方案二:
Cells[2]
解决方案三:
引用1楼shingoscar的回复:
Cells[2]
RowHeadersVisble=false;Cells[2]获得的是“生产管理”
解决方案四:
简单来说就是从数据库里面获取了前两列数据,然后动态添加了第三列(CheckBox),然后保存数据的时候需要获取第三列的数据,但是this.dgvRights.Rows[0].Cells[3].Value.ToString();这样写就报错了!!!越界了!
解决方案五:
引用2楼mryouhao的回复:
Quote: 引用1楼shingoscar的回复:
Cells[2]RowHeadersVisble=false;Cells[2]获得的是“生产管理”
你确定?r_id前面还有一列?
解决方案六:
引用4楼shingoscar的回复:
Quote: 引用2楼mryouhao的回复:
Quote: 引用1楼shingoscar的回复:
Cells[2]RowHeadersVisble=false;Cells[2]获得的是“生产管理”
你确定?r_id前面还有一列?
r_id前面没有了,Cells[1]获得的是“生产管理”,Cells[2]获取checkbox的时候就报错“未将对象引用设置到对象的实例。”
解决方案七:
是这样的,如果单元格是首次添加,Value的值是null,你要判定是否选中可以写this.dgvRights.Rows[0].Cells[2].Value==true
解决方案八:
在数据源上添加bool类型的列
解决方案九:
Cells[“选择列”]