DataGridView 添加checkbox

简介: DataGridViewCheckBoxColumn newColumn = new DataGridViewCheckBoxColumn(); newColumn.HeaderText = "选择"; dataGridView1.Columns.Add(newColumn); 这样添加的列是放在最后一列,也许你希望它在其它列,例如第二列,那么可以: dataGridView1.C
DataGridViewCheckBoxColumn newColumn = new DataGridViewCheckBoxColumn();
newColumn.HeaderText = "选择";
dataGridView1.Columns.Add(newColumn);
这样添加的列是放在最后一列,也许你希望它在其它列,例如第二列,那么可以:
dataGridView1.Columns.Insert(1, newColumn);
DataGridView中的DataGridViewCheckBoxColumn是很难控制的,当 DataGridView 未绑定到数据时,对单元格的编辑会在用户移到另一个单元格时被交DataGridView.IsCurrentCellDirty 属性,如果当前单元格有未提交的更改,为 true;否则为 false。处理方法
if (dataGridView.IsCurrentCellDirty)       
{//将当前单元格中的更改提交到数据缓存,但不结束编辑模式。                 dataGridView.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
在winfrom 的DataGridView中添加一列,ColumnType属性设置为DataGridViewCheckBoxColumn。
假设设置Name属性为SelIndex
1、选择全部列
        private void btnSelALl_Click(object sender, EventArgs e)
        {
            DataTable dt = (dataGridView1.DataSource as DataTable);
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                dt.Rows[i]["SelIndex"] = 1;
            }
        }
2、取得某一选择行的值
private void btnGetRows_Click(object sender, EventArgs e)
        {
            //刷新
            if (dataGridView1.IsCurrentCellDirty)
            {
                dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
            }
           //取得选中的行
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                if (dataGridView1.Rows[i].Cells["SelIndex"].Value.ToString() == "1")
                {
                    //相应的操作
                  MessageBox.Show( dataGridView1.Rows[i].Cells["Test"].Value.ToString());
                }
            }
        }
目录
相关文章
|
6月前
|
C# 数据库 开发者
44.c#:combobox控件
44.c#:combobox控件
78 1
|
6月前
|
Python
Combobox
在Tkinter中,下拉菜单(Combobox)是一种常用的组件,它允许用户从一组预定义的选项中选择一个或多个值。下面是关于如何在Tkinter中使用下拉菜单组件的详细说明:
50 1
|
6月前
|
存储 缓存 C#
46.c#:datagridview控件
46.c#:datagridview控件
84 1