winform 绑定数据库的datagridview某一列设置成button 比如。从数据库读取了3列显示在datagridview1里面,分别是 工况编号、工况描述、测试状态。 我需要把 测试状态 这一列弄成按钮,该列的值还是从数据库读出来的。 大侠们帮帮忙,在线等!ps:是winform里的哦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 测试状态我觉得在datagridview中设置成checkbox最好。 方法是:datagridview->编辑列->所选择字段的属性ColumnType设置为:DataGridViewCheckBoxColumn,当然你要设置成按钮就选择:DataGridViewButtonColumn 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); 请教一个泛型转换问题 datagrid控件问题 一个Socket在Vista下的问题! 如何在.net上用C# 代码实现以下的功能 TreeView 控件,更改节点时遇到的问题 请问酒店系统里面的坐标房态图是怎么做出来的?分不够再加。。 请教下面用thread 和不用thread有什么本质区别阿 经济危机,睡眠中求财路! 点击子窗体给父窗体上的treeview控件的选定节点添加新的节点 我在sql里面见了一个DTS 我不知道在c#里面怎么写程序执行它 ZedGraph如果清除掉原来的图? DataGridView中列顺序发生奇怪的变化,求高手解释!!
,当然你要设置成按钮就选择:DataGridViewButtonColumn
DataGridVeiwButtonColumn column= new DataGridVeiwButtonColumn ();
column.Name = "TEST";
column.DataPropertyName = "DbFieldName";
this.myDgv.Columns.Add(column);绑定的数据源sql文如下:注意DbFieldName必须一致select '更新' as DbField from table;
然后在设计中找到把ColumnType属性改成 DataGridViewButtonColumn
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);
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);
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);