当前位置:编程学习 > C#/ASP.NET >>

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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,