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中添加多行数据的效果。