求用c#在dataGridView中动态添加列的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求用c#在dataGridView中动态添加列的方法相关的知识,希望对你有一定的参考价值。

这样的,我原本建了个表,表中是实时数据,有 湿度 温度 电压 时间等 时间取得采集到数据的时间,现在我想在几个dataGridView分别显示温度 温度 电压,但想把时间这一列也同时显示,怎么用c#编写。。。急急急!!!我用的数据库是SQL

这种问题说不清楚 直接上代码 你参悟一下吧
private void Add_dgv()

dgv_preinstall.Rows.Clear();
DataTable preinst_dt = Ticms_Tool.DeserializeModel(ICMS.Operation(new object[] where_str, Convert.ToInt32(cb_classboard.SelectedValue) , "M_40", Login_Form.manager.F_Guid));
if (preinst_dt != null && preinst_dt.Rows.Count != 0)

foreach (DataRow dr in preinst_dt.Rows)

int index = dgv_preinstall.Rows.Add();
DataGridViewRow row = dgv_preinstall.Rows[index];
row.Cells[0].Value = dr["F_PreID"];
row.Cells[1].Value = dr["F_OrderID"];




其中的 row.Cells[0]就是列 你可以随意加减 希望您能采纳 祝您成功追问

我已经在dataGridView中显示出温度了,我想再把时间这一列也显示在这个表中怎么弄?

追答

简单啊 那你再创建一列 把时间值赋进去就可以了啊

参考技术A

1.实质就是动态添加控件,new一个dataGridView对象,然后使用 xxx.item.add()在窗体里add()就可以实现。

2.例程:

           DataTable dt = new DataTable();
            dt.Columns.Add("编号",typeof(Int32));
            dt.Columns.Add("名称", typeof(string));
            dt.Columns.Add("数量", typeof(string));
 
            DataRow dr = dt.NewRow();
            dr["编号"] = dataGridView1.CurrentCell.OwningRow.Cells["编号"].ToString();
            dr["名称"] = dataGridView1.CurrentCell.OwningRow.Cells["名称"].ToString();
            dt.Rows.Add(dr);
 
            dataGridView2.DataSource = dt;

参考技术B 用不同的sql语句不就行了 :如第一dataGridView 显示温度:select 温度,时间 from。。
把查询出的信息 保存到一个datatable中 与该 dataGridView 绑定追问

虽然不是我想要的结果,不过谢谢你的热心哈

参考技术C int i = DataGridView.Columns.Add(); //添加列
DataGridView.Columns[i].HeaderText=""; //设置列表题

以上是关于求用c#在dataGridView中动态添加列的方法的主要内容,如果未能解决你的问题,请参考以下文章

C# DataGridView控件动态添加新行

在 DataGridView c# 中添加列和行

c# winform编程 数据库 .net 怎么获取datagridview中选中列的列索引?

C# 动态添加的属性与 datagridview 顺序混淆

c# datagridview 中添加comboBox的问题

不能向没有列的 DataGridView 控件添加行.必须首先添加列.