WinForm中给GridView加checkbox

一,如果数据源中有bool类型的列,在绑定之后会自动以checkbox的形式显示,
如果你的是这种情况,只需要在点击button的时候遍历判断即可.
如果数据源中没有可以采用下列方式添加:

ps:数据源为DataTable

C# code
   
   
// Add a Column with checkbox at last in the Grid DataColumn dtcCheck = new DataColumn( " IsMandatory " ); // create the data // column object with the name dtcCheck.DataType = System.Type.GetType( " System.Boolean " ); // Set its // data Type dtcCheck.DefaultValue = false ; // Set the default value DataTable.Columns.Add(dtcCheck); // Add the above column to the // Data Table




二,数据源中没有,只是在DataGridView中存在.
手动添加为:右键点datagridview,编辑列,添加,设置其类型为datagridviewcheckbox
代码添加如下:

C# code
   
   
this .dataGridView1.Columns.Insert( 0 , new DataGridViewCheckBoxColumn()); for ( int i = 0 ; i < this .dataGridView1.Rows.Count; i ++ ) { // 为datagridviewcheckbox列赋值 this .dataGridView1.Rows[i].Cells[ 0 ].Value = true ; }


在DataGridView的CellContentClick事件下写

C# code
   
   
private void dataGridView1_CellContentClick( object sender, DataGridViewCellEventArgs e) { // 判断点的是否是datagridviewcheckbox列并且不是列头 if (e.ColumnIndex == 0 && e.RowIndex != - 1 ) { // dataGridView1.Rows[e.RowIndex].Cells[0].Value = (bool)dataGridView1.Rows[e.RowIndex].Cells[0].EditedFormattedValue; // 两种皆可 dataGridView1.Rows[e.RowIndex].Cells[ 0 ].Value = ! ( bool )dataGridView1.Rows[e.RowIndex].Cells[ 0 ].Value; } }


在button的Click事件下:

C# code
   
   
private void button_Click( object sender, EventArgs e) { for ( int i = 0 ; i < this .dataGridView1.Rows.Count; i ++ ) { if (( bool ) this .dataGridView1.Rows[i].Cells[ 0 ].Value) MessageBox.Show( " 选择的是第 " + (i + 1 ).ToString() + " " ); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值