2009-07-13 14 views
0

GridViewとDetailsViewの両方がUpdatePanelsにあるマスター/詳細設定があります。 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")) 

情報は、現在ビューステートに保持し、完璧に動作している=)

関連する問題