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会自动+1this.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个字段)