C#的datagrid中添加复选框的问题

C#的datagrid中添加复选框的问题,第1张

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

}

更正你一个常识性的问题,由于checkbox是可见的控件,而dataTable是不可见的虚拟表,所以checkbox是不能添加到dataTable里的。

可能你的dataTable是通过ListView或DataGridView显示出来的,你想把checkbox放在listView/DataGridView中

ListView中添加checkbox比较便捷,直接修改ListBox属性checkBoxes为true即可

如果是在dataGridView中添加就比较难控,而且复杂,这里有示例:

http://blog.csdn.net/lbqhope/article/details/5997711


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

原文地址: https://outofmemory.cn/bake/11737257.html

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

发表评论

登录后才能评论

评论列表(0条)

保存