首页 > 技术文章 > C# WinForm程序向datagridview里添加数据

WonderHow 2013-08-21 18:20 原文

     在C#开发的winform程序中,datagridview是一个经常使用到的控件。它可以以类似excel表格的形式规范的展示或操作数据,我也经常使用这个控件。使用这个控件首先要掌握的就是如何向其中插入数据,直接在控件上操作的方法就不再赘述了,下面我将描述一下如何用代码向datagridview添加数据:

 public void additem(int ID,int id, string column1, string column2, string column3, string column4, string column5, string column6,
           string column7)
        {
 //此处的代码不能进行循环!必须封装为一个方法,通过方法的循环,才能实现循环!
        DataGridViewRow dgvr = new DataGridViewRow();
            foreach (DataGridViewColumn c in this.DataGridView1.Columns)
            {
                dgvr.Cells.Add(c.CellTemplate.Clone() as DataGridViewCell);
            }
         dgvr.Cells[0].Value = ID;
            dgvr.Cells[1].Value = id;
            dgvr.Cells[2].Value = column1;
            dgvr.Cells[3].Value = column2;
            dgvr.Cells[4].Value = column3;
            dgvr.Cells[5].Value = column4;
            dgvr.Cells[6].Value = column5;
            dgvr.Cells[7].Value = column6;
            dgvr.Cells[8].Value = column7;
            this.DataGridView1.Rows.Add(dgvr);
        }

   这就是向datagridview里面添加一条数据的代码,想要实现更多的添加,只需循环添加即可:

 private void DataStart(string sql)
        {
            con = Utils.DBConnect.Open("FX.mdb");
            string sqlStr = sql;
            //获得数据源
            reader = Utils.DBConnect.GetReader(sqlStr, con);
            int id = 1;//每行数据前的序号
            while (reader.Read())
            {
                additem(reader.GetInt32(0),id, reader.GetValue(1).ToString(), reader.GetValue(2).ToString(), reader.GetValue(3).ToString(),
                    reader.GetValue(4).ToString(), reader.GetValue(5).ToString(), reader.GetValue(6).ToString(),
                    reader.GetValue(7).ToString());
                id++;
            }
            reader.Close();
            con.Close();
        }

    这是通过sql语句,将数据库中的数据循环显示在datagridview里面。下面是这个函数的使用:
   

private void LoadFirst()
        {
            try
            {
                string tmpStr;
                tmpStr = "select  * from fx order by fxid desc";
                DataStart(tmpStr);
            }
            catch
            {
                MessageBox.Show("数据库未连接正确!");
            }
        }

 

 

推荐阅读