C# datagrid里怎么加入复选框?

C# datagrid里怎么加入复选框?,第1张

WindowsForm下的DataGrid中使用CheckBox列

1.在窗体上建立DataGrid;

2.选中DataGrid在属性窗口中点击TableStyles属性右边的按钮,在d出的窗口中添加dataGrdiTableStyle1,在右边的属性窗口中,点击GradClumnStyles属性右边的按钮;

3.接下去的 *** 作就是在d出的窗口中添加按钮下拉菜单中选择列类型,这里包括DataGridTextBoxColumn和DataGridBoolColumn,默认是文本列.

private void Form1_Load(object sender, EventArgs e)

{

DataGridViewTextBoxColumn name1 = new DataGridViewTextBoxColumn()

name1.Name = "name"name1.HeaderText = "name"

dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn []{name1})

//加第一个字段

DataGridViewCheckBoxColumn apple=new DataGridViewCheckBoxColumn ()

apple.Name = "apple"apple.HeaderText = "apple"

dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {

apple})//加第二个。

DataGridViewCheckBoxColumn orange = new DataGridViewCheckBoxColumn()

orange.Name = "orange"orange.HeaderText = "orange"

dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {

orange})//加第三个。

DataGridViewCheckBoxColumn banana = new DataGridViewCheckBoxColumn()

banana.Name = "banana"banana.HeaderText = "banana"

dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {

banana})//加第四个。

string con = "server=192.160.1.88database=MYLXuid=sspwd=123"

SqlConnection conn = new SqlConnection(con)//数据库连接

string sql = "select name,apple,orange,banana from table1"

SqlDataAdapter sda = new SqlDataAdapter(sql,conn)

DataSet ds = new DataSet()//数据读取

sda.Fill(ds)//填充

ds = convert(ds)//调用方法

dataGridView1.Columns[0].DataPropertyName = "name"//数据绑定

dataGridView1.Columns[1].DataPropertyName = "apple"//数据绑定

dataGridView1.Columns[2].DataPropertyName = "orange"//数据绑定

dataGridView1.Columns[3].DataPropertyName = "banana"//数据绑定

dataGridView1.DataSource = ds.Tables[0].DefaultView//数据绑定

}

DataSetconvert(DataSet ds)

{

int col = ds.Tables[0].Columns.Count//获取行

int row = ds.Tables[0].Rows.Count//获取列

//dataGridView1 中的checkbox只接受bool类型的值的所以这里面要转换一下!

for (int j = 0j <rowj++)

{

for (int i = 1i <coli++)

{

//把为1的写写true

if (ds.Tables[0].Rows[j][i].ToString ().Trim () == "1")

{

ds.Tables[0].Rows[j][i] = "true"

}

//把不为1的写成false

else

{

ds.Tables[0].Rows[j][i]="false"

}

}

}

return ds

}

修改Datagrid的模板,其中加入checkbox控件

你可以参考一下这个

http://hi.baidu.com/jjome/blog/item/df976d82d002a1a00df4d23f.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11611717.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存