C# datagridview控件 绑定数据库中表中数据的方式-3

1.如下图所示,为数据库中的一张表结构,注意该表中共有11个字段

2.首先在窗体后台代码中拖入一个datagridview控件,并在窗体加载时,给datagridview控件添加列,添加的方式如下所示:请注意,每个列添加时有两个参数,第一个参数表示数据库的字段名称(必须和数据库字段完全一致,否则出错),第二个参数表示给该列重命名,将来在datagridview中显示的列标题。

注意:此处如果缺省不显示的字段名,将来datagridview中也会自动隐藏。


            #region 初始化光源序列号表
            dataGridView1.Columns.Add("id", "主键");
            dataGridView1.Columns.Add("serial_number", "唯一序列号");
            dataGridView1.Columns.Add("gy_serial_number", "光源序列号");
            dataGridView1.Columns.Add("product_code", "产品代码");
            dataGridView1.Columns.Add("product_name", "产品名称");
            dataGridView1.Columns.Add("create_time", "创建时间");
            dataGridView1.Columns.Add("finish_time", "完工时间");
            dataGridView1.Columns.Add("close_flag", "订单状态");
            dataGridView1.Columns.Add("task_status", "当前任务状态");
            #endregion

3.先查询数据,再显示。比如查询表中的所有记录,datagridview控件显示具体记录代码如下

注意:在给单元格赋值的时候,字段名称数量和顺序必须要和上述创建列的字段一致,否则绑定错误

 private void ShowAllData()  //添加数据到datagridview中
 {
     try
     {
         List<t_gy_temporary_serial_number> t_Gy_Temporary_Serials = FrmMain.fsql.Select<t_gy_temporary_serial_number>().ToList(); //查询表中所有的信息
         if (t_Gy_Temporary_Serials.Count > 0)
         {
             dataGridView1.Rows.Clear();    //清空表中所有行  重新填充数据
             foreach (t_gy_temporary_serial_number d in t_Gy_Temporary_Serials)
             {
                 int index = this.dataGridView1.Rows.Add();  //往datagridview控件中插入新的一行,index会自动+1
                 this.dataGridView1.Rows[index].Cells[0].Value = d.Id;   
                 this.dataGridView1.Rows[index].Cells[1].Value = d.serial_number;
                 this.dataGridView1.Rows[index].Cells[2].Value = d.gy_serial_number;
                 this.dataGridView1.Rows[index].Cells[3].Value = d.product_code;
                 this.dataGridView1.Rows[index].Cells[4].Value = d.product_name;
                 this.dataGridView1.Rows[index].Cells[5].Value = d.create_time;
                 this.dataGridView1.Rows[index].Cells[6].Value = d.finish_time;
                 this.dataGridView1.Rows[index].Cells[7].Value = d.close_flag;
                 this.dataGridView1.Rows[index].Cells[8].Value = d.task_status;
                 //index初次等于0,index表示数据库中的每一行,也表示datagridview控件中的每一行
                 //dataGridView1.Rows[index].Cells[0].Value 表示将第一行的第0个单元格,也就是第一行第一列
                 //=号右边的值表示数据库中的每一行记录的字段,将查询的记录结果赋值给左边的单元格,以此类推
                 //最终将查询的所有记录值依次赋值给datagridview中的每个单元格
             }
         }
     }
     catch { }
 }

4.最终调用上述方法,会显示数据库中的记录至datagridview控件上。(本次只显示的9个字段)

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中,可以通过`DataGridView.DataSource`属性将DataGridView控件数据绑定,实现列和数据库中的数据绑定。 以下是示例代码: ```csharp // 假设已经创建了DataGridView控件实例 dgv,并连接了名为 MyDatabase 的数据库 // 从数据库中查询数据 string sql = "SELECT * FROM MyTable"; SqlDataAdapter adapter = new SqlDataAdapter(sql, "Data Source=.;Initial Catalog=MyDatabase;Integrated Security=True"); DataTable table = new DataTable(); adapter.Fill(table); // 将DataTable对象与DataGridView控件绑定 dgv.DataSource = table; ``` 在上述代码中,首先通过`SqlDataAdapter`类从数据库中查询数据,并将查询结果填充到一个`DataTable`对象中。然后,将该`DataTable`对象与`DataGridView`控件实例的`DataSource`属性绑定,这样就可以将控件的列和数据库中的数据进行绑定。 需要注意的是,为了确保能够正确地显示数据库中的数据,需要为`DataGridView`控件中的每一列设置`DataPropertyName`属性,该属性对应数据库中的列名。例如: ```csharp // 设置DataGridView控件中的列和数据库中的列绑定 dgv.Columns["column1"].DataPropertyName = "Column1NameInDatabase"; dgv.Columns["column2"].DataPropertyName = "Column2NameInDatabase"; // ... ``` 其中,`"column1"`和`"column2"`是DataGridView控件中的列名,`"Column1NameInDatabase"`和`"Column2NameInDatabase"`是数据库中的列名,需要根据实际情况进行设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值