我知道大多数人都会说google这个。但我已经这样做了,仍然无法弄清楚为什么在按钮事件上单击数据仍然不会插入到数据表中。 忽略数据本身,它是随机的。
非常感谢任何帮助。
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();
}
答案 0 :(得分:1)
代码看起来是正确的。
DataTable _table = new DataTable()
DataRow _row = _table.NewRow()
_table.Rows.Add(_row)
我认为这可能是你的回发。在Rows.Add(_row)之后放置一个断点并确保数据表有数据。我认为数据在回发/页面加载时被删除。