2017-10-18 47 views
0

頁面具有綁定到sqldatasource的gridview。我不允許在gridview中進行編輯。它的大部分列都是帶有標籤控件的模板字段。同一頁上的formview控件顯示當前選定的gridview行的數據。對formview控件進行更新。我希望gridview在保存後反映更新後的數據。一個簡單的gv.DataBind()可以工作,但數據更新可能會涉及到gridview的排序,所以如果我調用gv.DataBind(),gv中的更新行最終可能會出現在網格的某個較遠的頁面上。我寧願gridview只更新已經選擇的行中的任何已更改的數據。數據更改後更新gridview行中的值,而不通過DataBind調用度假村

到目前爲止,我所做的是讓更新formview的子文件也更改所選gv行上標籤的文本值。這似乎工作,但不會持續。我看到gv單元格中的更改,但只要我在gridview中選擇另一行,出於某種原因,先前編輯過的行中的已修改單元格就會變爲空白。

這樣做的好方法是什麼?

回答

0

獲取gridview(.PageIndex)的當前頁面,做一個DataBind(),然後(重新)設置頁面。

+0

「(重新)設置頁面」是什麼意思?如果我得到當前頁面,執行一個databind(),剛剛編輯的記錄可能會在完全不同的頁面上完成,具體取決於更新的列和網格排序。如果你的重新設置有助於找到這個記錄很好。但是我真正想要做的只是將gridview的一行更新爲顯示新數據,而不移動它在gridview中......使用更新的數據將它保存在同一個位置。 – meridian

+0

我的意思是重置gridview的頁面。 '將gridview的當前頁面保存在一個變量中',做好你的數據工作,做好databind(),如果gridview返回頁面1,'將gridview的頁面設置爲先前保存在變量中的頁面。 – wazz

+0

這並不能解決問題,因爲在formview數據更新之後,更新的記錄可能不會出現在原來的GridView頁面上。示例如果gridview按姓氏排序,並且formview更新將人員的姓氏從Klunkedorf更改爲Clunkendorf,則在綁定記錄後數據將位於不同的gv頁面上。因此,我有興趣更新單行的文本值......而不是重新拼接gv。 – meridian

相關問題