动态数据绑定到gridview

时间:2009-11-02 05:13:00

标签: c# gridview data-binding

我有一个网格视图,我想在运行时将一些数据绑定到这个Gridview。

在我的按钮点击事件中,我这样写了

protected void Button1_Click(object sender, EventArgs e)
{
    DataSet ds = new DataSet();
    DataTable dt = new DataTable();
    DataRow dr;
    DataColumn dc = new DataColumn();
        dc.Caption = "Name";
        dc.DataType = Type.GetType("System.String");
        dc.ColumnName = "Name";
        dt.Columns.Add(dc);


    dr = dt.NewRow();
    dr["Name"] = TextBox1.Text;
    dt.Rows.Add(dr);
    ds.Tables.Add(dt);
    GridView1.DataSource = ds;
    GridView1.DataBind();

}

工作正常并显示数据。但是现在我想在gridview中添加多行。当我尝试绑定它时,每次只有一行添加到网格视图。 (即在文本框中输入的最近值)。我想将行追加到gridview。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

将ds存储到视图状态。

然后当你添加一个新行时。从viewstate中检索数据集,并添加一个包含在文本框中输入的最新值的新行。

as:

if(ViewState["ds"]!=null)
{
DataSet ds=(DataSet) ViewState["ds"];
 dr = ds.Tables[0].NewRow();
 dr["Name"] = TextBox1.Text;
 ds.Tables[0].Rows.Add(dr);
 GridView1.DataSource = ds;
 GridView1.DataBind();
}