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 的行集合中添加行。

  

posted @ 2025-06-24 21:50  包子789654  阅读(85)  评论(0)    收藏  举报