DataGridView与数据绑定和显示
1,方法1,通过DataSet或DataTable绑定
#region 绑定数据到DataGridView--方法1--DataSet
/*
string strSql = "select * from mydata where FDate >='" +
this.dtp_startDate.Value.Date.ToString("yyyy-MM-dd") + "'and FDate <='" +
this.dtp_endDate.Value.Date.ToString("yyyy-MM-dd") + "'order by ID";
DataSet ds = new DataSet();
ds = this.myaccess.SelectToDataSet(strSql, "suibian");
//this.dataGridView1.DataSource = ds;
//this.dataGridView1.DataMember = "suibian";//设置绑定ds中的哪张表
//上面两句话也可以使用下面这一句话
this.dataGridView1.DataSource = ds.Tables["suibian"];
*/
#endregion
#region 绑定数据到DataGridView--方法2--DataTable
string strSql = "select * from mydata where FDate >='" +
this.dtp_startDate.Value.Date.ToString("yyyy-MM-dd") + "'and FDate <='" +
this.dtp_endDate.Value.Date.ToString("yyyy-MM-dd") + "'order by ID";
DataSet ds = new DataSet();
ds = this.myaccess.SelectToDataSet(strSql, "suibian");
DataTable dt = ds.Tables["suibian"];
this.dataGridView1.DataSource = dt.DefaultView;
#endregion
2,DataView数据显示
如果DataView什么都不设置,查出来的就是数据库的数据,看的不直观
设置显示列名

3,当控件被数据绑定时,无法以编程方式向 DataGridView 的行集合中添加行
当DataGridView.DataSource = DataTable,如果以编程方式添加行就报错,解决如下:
List<string> strList = new List<string>();
strList.Add(frmModifyPoint.productSN);
strList.Add(frmModifyPoint.productInfo);
strList.Add(frmModifyPoint.PsetNo);
strList.Add(frmModifyPoint.PsetInfo);
strList.Add(frmModifyPoint.TotalCount);
strList.Add(frmModifyPoint.DistanceNo);
strList.Add(frmModifyPoint.DistanceInfo);
strList.Add(frmModifyPoint.SleeveNo);
strList.Add(frmModifyPoint.SleeveInfo);
string[] strArray = strList.ToArray();
((DataTable)dgv_data.DataSource).Rows.Add(strArray);//当控件被数据绑定时,无法以编程方式向 DataGridView 的行集合中添加行。

浙公网安备 33010602011771号