1

これは確かにばかげているに違いありませんが、問題の解決策が見つかりません。私がやろうとしているのは、ユーザーが必要に応じて空で読み込まれるグリッドビューに行を追加できるようにすることです。しかし、「追加」ボタンを押すたびに、前の行が失われます。

これは、不適切なコントロールの使用を含め、非常に単純なものであると確信しています。

これは私の分離コードです:

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();
        }
    }

ご協力ありがとうございました!

4

0 に答える 0