0

我知道你们中的大多数人会说谷歌这个。但是我已经这样做了,仍然不能完全弄清楚为什么在按钮事件单击时数据仍然不会插入到数据表中。忽略数据本身,它是随机的。

任何帮助将不胜感激。

        public void btnAddRow_Click(object sender, EventArgs e)
    {
        DataSet ds = (DataSet)(Session["DS"]);
        TestGrid.DataSource = ds.Tables[0];
        ds.Tables[0].Rows.Add();

        DataTable dt = (DataTable)(Session["DT"]);
        DataRow dr = null;
        dr = dt.NewRow();



        //add values to each rows
        dr["Title"] = txtTitle.Text;
        dr["Year"] = txtYear.Text;
        dr["Type"] = txtType.Text;
        dr["Lead Actor"] = txtLeadActor.Text;
        dr["Producer"] = txtProducer.Text;
        dr["Director"] = txtDirector.Text;

        dt.Rows.Add(dr);
        TestGrid.DataSource = dt;
        TestGrid.DataBind();

    }

    private void SetInitialRow()
    {

        DataTable dt = new DataTable();
        DataRow dr = null;
        Session["DT"] = dt;

        //define the columns
        dt.Columns.Add(new DataColumn("Title", typeof(string)));
        dt.Columns.Add(new DataColumn("Year", typeof(string)));
        dt.Columns.Add(new DataColumn("Type", typeof(string)));
        dt.Columns.Add(new DataColumn("Lead Actor", typeof(string)));
        dt.Columns.Add(new DataColumn("Producer", typeof(string)));
        dt.Columns.Add(new DataColumn("Director", typeof(string)));


        //create new row
        dr = dt.NewRow();


        //add values to each rows
        dr["Title"] = "Blade";
        dr["Year"] = "1989";
        dr["Type"] = "Action";
        dr["Lead Actor"] = "Wesley Snipes";
        dr["Producer"] = "Guy";
        dr["Director"] = "Dude";


        //add the row to DataTable
        dt.Rows.Add(dr);
        TestGrid.DataSource = dt;
        TestGrid.DataBind();


    }
4

1 回答 1

1

代码看起来正确。

DataTable _table = new DataTable()
DataRow _row = _table.NewRow()
_table.Rows.Add(_row)

我想这可能是你的回传。在 Rows.Add(_row) 之后放置一个断点并确保数据表有数据。我认为数据在回发/页面加载时被删除。

于 2013-06-24T20:04:10.547 回答