DataGridView第一列加一个复选框及使复选框单选的方法
来源:互联网 发布:ubuntu kde kde 编辑:程序博客网 时间:2024/05/22 13:07
- DataTable dt;(DataGridView绑定的DataTable)
- DataGridView dgView;
- dt.Columns.Add("check", typeof(bool));
- dgView.Columns.Clear();
- dgView.AutoGenerateColumns = false;
- dgView.DataSource = dt;
- DataGridViewCheckBoxColumn dtCheck = new DataGridViewCheckBoxColumn();
- //(注意这里是DataGridViewCheckBoxColumn而不是DataGridViewTextBoxColumn)
- dtCheck.DataPropertyName = "check";
- dtCheck.HeaderText = "";
- dgView.Columns.Add(dtCheck);
- dgView.Columns[0].Width = 30;
添加完后要把窗体上DataGridView 右上角的小箭头点开,将里面的“可以编辑“前的复选框选上,否则复选框不能用。
如果把DataGridView 的ColumnHeadersVisible属性设置成false就会没有列头,效果更好!
- DataTable dt = (DataTable)dgView.DataSource;
- //使用方法
- foreach(DataRow row in dt.Rows)
- {
- if (row["check"].ToString() == "True")
- {
- //
- }
- }
需要使复选框不能多选时,将DataGridView 的CellValueChanged事件和CurrentCellDirtyStateChanged事件里添加如下代码:
- private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
- {
- DataGridView dgv = (DataGridView)sender;
- if (dgv.IsCurrentCellDirty)
- {
- dgv.CommitEdit(DataGridViewDataErrorContexts.Commit);
- }
- }
- private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
- {
- if (e.ColumnIndex == 0)
- {
- DataGridView dgv = (DataGridView)sender;
- DataTable dt = (DataTable)dgv.DataSource;
- DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)dgv.Rows[e.RowIndex].Cells[0];
- bool value = (Boolean)checkCell.Value;
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- DataRow row = dt.Rows[i];
- if (i != e.RowIndex && value)
- {
- row["check"] = false;
- }
- }
- dgv.Invalidate();
- }
- }
- DataGridView第一列加一个复选框及使复选框单选的方法
- 自定义DataGridView的复选框列,点击最后一个会自动多出来一行的解决
- datagridview复选框的运用
- dataGridView增加复选框
- DataGridView单元按钮列和支持三种选择状态的复选框列的实现
- Winform中DataGridView的复选框事件
- 在DataGridView中的列头添加复选框
- c# datagridview列头添加复选框实现全选
- 公式复选框列
- C# WinForm下DataGridView单选按钮列和支持三种选择状态的复选框列的实现
- C# WinForm下DataGridView单选按钮列和支持三种选择状态的复选框列的实现
- 复选框的提交方法
- 标准GRID加复选框
- 下拉列表加复选框
- DGV中复选框第一列可编辑 ,第一列固定显示
- 【JqGrid】jqGrid 多选复选框 编辑列 方法事件
- dataGridView空白列,默认选中行的背景色,dataGridView中加入复选框勾选状态的更改
- C# 获取DataGridView中的复选框
- winsock编程(五)
- image rotation and zoom
- Redhat Linux上qmail安装配置
- 后来者居上
- 一个SQL查询的两种写法(大家看看是不是这样)
- DataGridView第一列加一个复选框及使复选框单选的方法
- 有感于“百元消费券刺激消费?别逗了 ”
- winsock编程(六)
- vs.Net2003无法打开或创建Web应用程序若干解决办法
- 自己写的一个分页控件类(WinForm)
- 从公牛身上挤奶
- 关于各数据库专有保留字
- “解雇通知”怎么说
- 使用C++访问Google API