これは確かにばかげているに違いありませんが、問題の解決策が見つかりません。私がやろうとしているのは、ユーザーが必要に応じて空で読み込まれるグリッドビューに行を追加できるようにすることです。しかし、「追加」ボタンを押すたびに、前の行が失われます。
これは、不適切なコントロールの使用を含め、非常に単純なものであると確信しています。
これは私の分離コードです:
DataTable dt;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Binding();
}
}
protected void Binding()
{
if (dt == null)
{
dt = new DataTable();
dt.Columns.Add("txt1");
dt.Columns.Add("txt2");
DataRow dr = dt.NewRow();
dr[0] = "Text1";
dr[1] = "Text2";
dt.Rows.Add(dr);
dt.AcceptChanges();
}
grd.DataSource = dt;
grd.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
DataTable tt = grd.DataSource as DataTable;
//Both dt and grd.DataSource are null at this point
if (tt != null)
{
DataRow dr = tt.NewRow();
dr[0] = "Text1";
dr[1] = "Text2";
tt.Rows.Add(dr);
tt.AcceptChanges();
grd.DataSource = tt;
grd.DataBind();
}
}
ご協力ありがとうございました!