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

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

C# datagridview控件 绑定数据库中表中数据的方式-3_第1张图片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_Serials = FrmMain.fsql.Select().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个字段)

C# datagridview控件 绑定数据库中表中数据的方式-3_第2张图片

你可能感兴趣的:(datagridview控件,c#,开发语言)