2009-07-13 25 views
0

我在UpdatePanels中使用了GridView和DetailsView的主/細節設置。當DetailsView被編輯和更新時,我希望這些更改能夠反映在GridView中,但不需要重新綁定該數據(這可能會改變selectedItem的排序順序,以及其引起的其他問題)在DetailsView ItemUpdated上,我有以下內容:GridView行信息在selectedIndexChanged後消失

' Update Gridview ' 
    ProductsGridView.Rows(selectedIndex).Cells(1).Text = e.NewValues("ProductName") 
    ProductsGridView.Rows(selectedIndex).Cells(2).Text = e.NewValues("Category") 

這在更新時正常工作,但是當在GridView中選擇一個新項目時,更新的文本消失。爲什麼是這樣的,我該如何保存這些信息?當它被反彈時,如果它改變位置就好,直到它重新綁定,我希望這些數據能夠持續下去。謝謝。

回答

1

答:這是因爲單元格的文本沒有存儲在視圖狀態中。我加了文字控制來保持細胞的文字和更新了文字的文本因此而不是使用單元格的文本,像這樣:

 ' Update Gridview ' 
    CType(ProductsGridView.Rows(selectedIndex).FindControl("thisLit"), Literal).Text = e.NewValues("SomeValue") 
    CType(ProductsGridView.Rows(selectedIndex).FindControl("someOtherLit"), Literal).Text = e.NewValues("OtherValue")) 

的信息現在保存在視圖狀態和工作完全=)