winform 绑定数据库的datagridview某一列设置成button
比如。从数据库读取了3列显示在datagridview1里面,分别是 工况编号、工况描述、测试状态。 我需要把 测试状态 这一列弄成按钮,该列的值还是从数据库读出来的。 大侠们帮帮忙,在线等!ps:是winform里的哦! --------------------编程问答-------------------- 测试状态我觉得在datagridview中设置成checkbox最好。 --------------------编程问答-------------------- 必须button 高手快来 --------------------编程问答-------------------- 方法是:datagridview->编辑列->所选择字段的属性ColumnType设置为:DataGridViewCheckBoxColumn
,当然你要设置成按钮就选择:DataGridViewButtonColumn --------------------编程问答-------------------- winform --------------------编程问答-------------------- datagridview里是空的, 直接显示数据库里的表 --------------------编程问答-------------------- 那就在代码中控制,也是这个ColumnType属性 --------------------编程问答-------------------- 我试试先 --------------------编程问答--------------------
DataGridVeiwButtonColumn column= new DataGridVeiwButtonColumn ();
column.Name = "TEST";
column.DataPropertyName = "DbFieldName";
this.myDgv.Columns.Add(column);
绑定的数据源sql文如下:注意DbFieldName必须一致
--------------------编程问答--------------------
select '更新' as DbField from table;
select '更新' as DbFieldName from table;--------------------编程问答-------------------- 先点编列
然后在设计中找到把ColumnType属性改成 DataGridViewButtonColumn
--------------------编程问答-------------------- 接分 - - --------------------编程问答-------------------- cn = new SqlConnection("server=" + 本地设置.ip + ";database=Gangji;uid=" + 本地设置.uid + ";pwd=" + 本地设置.pwd + ";Connection Timeout=0");
cn.Open();
ds = new DataSet();
SqlCommand cmd = new SqlCommand("select 工况编号,工况描述 from Ceshi_Standard_Dynamic_Test", cn); //Tjport_Standard_Dynamic_Test
da = new SqlDataAdapter(cmd);
builder = new SqlCommandBuilder(da);
dataGridView1.RowHeadersVisible = false;
dataGridView1.AllowUserToAddRows = false;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
da.Fill(ds, "Ceshi_Standard_Dynamic_Test");
//ds.Tables["gongkuanglist"].ColumnChanged += new DataColumnChangeEventHandler(ds_ColumnChanged);
//ds.Tables["gongkuanglist"].RowDeleted += new DataRowChangeEventHandler(ds_RowDeleted);
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
DataGridViewButtonColumn Column1 = new DataGridViewButtonColumn();
Column1.HeaderText = str;
Column1.DataPropertyName = str;
Column1.UseColumnTextForButtonValue = true;
this.dataGridView1.Columns.Add(Column1); --------------------编程问答-------------------- 帮我看看,我首先从数据库读取了工况编号、工况描述两列并显示到datagridview1。然后用代码添加进去1列button, 准备按照9楼的方法,从数据库读取 测试状态,将该列的文本显示在button上,后面不知道该怎么写了,谁能帮我看看!
cn = new SqlConnection("server=" + 本地设置.ip + ";database=Gangji;uid=" + 本地设置.uid + ";pwd=" + 本地设置.pwd + ";Connection Timeout=0");
cn.Open();
ds = new DataSet();
SqlCommand cmd = new SqlCommand("select 工况编号,工况描述 from Ceshi_Standard_Dynamic_Test", cn); //Tjport_Standard_Dynamic_Test
da = new SqlDataAdapter(cmd);
builder = new SqlCommandBuilder(da);
dataGridView1.RowHeadersVisible = false;
dataGridView1.AllowUserToAddRows = false;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
da.Fill(ds, "Ceshi_Standard_Dynamic_Test");
//ds.Tables["gongkuanglist"].ColumnChanged += new DataColumnChangeEventHandler(ds_ColumnChanged);
//ds.Tables["gongkuanglist"].RowDeleted += new DataRowChangeEventHandler(ds_RowDeleted);
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
DataGridViewButtonColumn Column1 = new DataGridViewButtonColumn();
Column1.HeaderText = str;
Column1.DataPropertyName = str;
Column1.UseColumnTextForButtonValue = true;
this.dataGridView1.Columns.Add(Column1);
SqlCommand cmd1 = new SqlCommand("select 测试状态 as " + str + " from Ceshi_Standard_Dynamic_Test", cn); --------------------编程问答-------------------- 帮我看看,我首先从数据库读取了工况编号、工况描述两列并显示到datagridview1。然后用代码添加进去1列button, 准备按照9楼的方法,从数据库读取 测试状态,将该列的文本显示在button上,后面不知道该怎么写了,谁能帮我看看!
cn = new SqlConnection("server=" + 本地设置.ip + ";database=Gangji;uid=" + 本地设置.uid + ";pwd=" + 本地设置.pwd + ";Connection Timeout=0");
cn.Open();
ds = new DataSet();
SqlCommand cmd = new SqlCommand("select 工况编号,工况描述 from Ceshi_Standard_Dynamic_Test", cn); //Tjport_Standard_Dynamic_Test
da = new SqlDataAdapter(cmd);
builder = new SqlCommandBuilder(da);
dataGridView1.RowHeadersVisible = false;
dataGridView1.AllowUserToAddRows = false;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
da.Fill(ds, "Ceshi_Standard_Dynamic_Test");
//ds.Tables["gongkuanglist"].ColumnChanged += new DataColumnChangeEventHandler(ds_ColumnChanged);
//ds.Tables["gongkuanglist"].RowDeleted += new DataRowChangeEventHandler(ds_RowDeleted);
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
DataGridViewButtonColumn Column1 = new DataGridViewButtonColumn();
Column1.HeaderText = str;
Column1.DataPropertyName = str;
Column1.UseColumnTextForButtonValue = true;
this.dataGridView1.Columns.Add(Column1);
SqlCommand cmd1 = new SqlCommand("select 测试状态 as " + str + " from Ceshi_Standard_Dynamic_Test", cn);
补充:.NET技术 , C#