我有一個GridView控件連接到允許行編輯的數據源。我使用指向更新,取消和編輯GridView命令的標準編輯/保存/刪除按鈕。GridView更新後覆蓋editindex
我想添加一個額外的按鈕,「下一步」內嵌保存/取消按鈕。這將與保存按鈕功能相同,但也會向網格添加一行,並將該行放入編輯模式。爲此,我將代碼添加到GridView的Updated
事件中,該事件向db添加新記錄,重新綁定網格並設置editindex。這似乎工作,但網格實際上並沒有在編輯模式下返回。我刪除了新的記錄代碼,只留下聲明來設置editindex,但網格仍然不會保持編輯模式。
在這種情況下是否可以強制網格保持編輯模式?看起來,除非你設置GridViewUpdatedEventArgs
的取消屬性,網格將翻轉到查看模式。我不想在這種情況下設置取消屬性,因爲我希望GridView觸發我的數據源對象以保存記錄。
如果這不起作用,看起來我需要允許更新正常進行,返回到客戶端,然後發送另一個服務器請求來添加記錄。我不想這樣做,我想在一次往返的情況下執行必要的操作。
這裏是代碼(簡體)看起來像:
protected void Button1_Click(object sender, EventArgs e)
{
// Works Fine
this.sampleDataSource.Insert();
this.sampleGridView.DataBind();
this.sampleGridView.EditIndex = this.sampleGridView.Rows.Count - 1;
}
protected void sampleGridView_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
// Grid will display new row, but will not be in edit mode
this.sampleDataSource.Insert();
this.sampleGridView.DataBind();
this.sampleGridView.EditIndex = this.sampleGridView.Rows.Count - 1;
}
我已經有了一個插入新行並自動翻轉到編輯模式的工作方法。但是我一直在gridview上下文之外調用它。當我嘗試在GridView更新過程中執行此操作時,EditIndex或者不起作用,或者被更新過程覆蓋。我不確定這是否是一個具有約束力的問題,但我一定會玩這個。我會試着想出一個這個問題的簡明例子 – 2010-02-13 01:50:49
重新閱讀你的問題後,我可以看到你正在使用一些自動魔術數據綁定和更新。我通常會自己避免這種情況,並在代碼隱藏中處理這些任務......正是出於這個原因。當事情不起作用時,很容易看到發生了什麼問題。 – Bryan 2010-02-13 22:22:00