WinForm中利用DataSet向DataGridView中添加多行数据

怎样利用DataSet向DataGridView中添加数据呢?很简单:编写添加按钮的单击事件方法
示例代码:
private void btnAdd_Click(object Sender,EventArgs e)
{
    //创建DataSet对象
    DataSet ds = new DataSet();
    //创建DataTable对象
    DataTable dt = new DataTable();
    //创建列
    dt.Columns.Add("姓名",typeof(string));
    dt.Columns.Add("年龄",typeof(int));
    //创建行
    DataRow row = dt.NewRow();
    //添加数据
    row[0] = this.txtName.Text.Trim();
    row[1] = this.txtAge.Text.Trim();
    //将行添加到数据表的行集合中
    dt.Rows.Add(row);
    //将数据表添加到DataSet中
    ds.Tables.Add(dt);
    //将DataSet中的表添加到DataGridView之中
    this.dataGridView1.DataSource = ds.Tables[0];
}

但是这样,只能一次添加一条数据,而且在DataGridView中显示的始终是一条数据,不能实现数据累加,
那该怎么办呢?
其实很简单,只需将上面的代码稍稍改动一下位置,不用添加也不用减少代码。

首先,在窗体类中创建两个全局对象,即DataSet和DataTable对象
示例代码:
    //创建DataSet对象
    DataSet ds = new DataSet();
    //创建DataTable对象
    DataTable dt = new DataTable();
其次,在窗体加载事件之中创建数据表的列,同时将数据表添加到DataSet之中
示例代码:
    private void Form1_Load(object sender, EventArgs e)
        {
            //创建数据列
            dt.Columns.Add("姓名",typeof(string));
            dt.Columns.Add("年龄",typeof(int));
            ds.Tables.Add(dt);
        }
再次,添加按钮的单击事件只负责添加数据行并向行中添加数据,将行添加到行集合中,同时显示在      DataGridView之中
示例代码:
private void button1_Click(object sender, EventArgs e)
        {
            //添加行
            DataRow row = dt.NewRow();
            //添加数据
            row[0] = this.txtName.Text.Trim();
            row[1] = this.txtAge.Text.Trim();
            //将行添加到数据表的行集合中
            dt.Rows.Add(row);
            //将DataSet中的表添加到DataGridView之中
            this.dataGridView1.DataSource = ds.Tables[0];

        }

到此,即可实现利用DataSet向DataGridView中添加多行数据的效果。

posted @ 2012-01-11 17:10  希格绍尔  阅读(7980)  评论(0编辑  收藏  举报