0

コンテキストは次のとおりです。サーバー側のページング/フィルタリング/並べ替えメカニズム (ObjectDataSource を使用) を備えた 1 つの DexExpress AspxGridView。

フィルター機構に問題があります (このスタックを参照してください)。

さて、私が抱えている問題は次のとおりです。クライアント側のイベントが DataSource イベント間で混乱します。:O. 何が起こるかを説明しましょう: ページを変更 (または並べ替え/フィルター処理) し、グリッドから 1 行を選択すると、クライアント側の SelectionChanged イベントが適切に発生します。ページを変更 (または並べ替え/フィルター) すると、イベントは発生しなくなります。代わりに、サーバー側では、次のスタック トレースで「メソッドまたは操作が実装されていません」という例外が発生します。

    at DevExpress.Web.Data.WebDataProviderBase.GetListSouceRowValue(Int32 listSourceRowIndex, String fieldName)
   at DevExpress.Web.Data.WebDataProxy.GetListSourceRowValue(Int32 listSourceRowIndex, String fieldName)
   at DevExpress.Web.Data.WebDataProxy.GetKeyValueCore(Int32 index, GetKeyValueCallback getKeyValue)
   at DevExpress.Web.Data.WebDataSelectionBase.GetSelectedValues(String[] fieldNames, Int32 visibleStartIndex, Int32 visibleRowCountOnPage)
   at DevExpress.Web.Data.WebDataProxy.GetSelectedValues(String[] fieldNames)
   at DevExpress.Web.ASPxGridView.ASPxGridView.FBSelectFieldValues(String[] args)
   at DevExpress.Web.ASPxGridView.ASPxGridView.GetCallbackResultCore()
   at DevExpress.Web.ASPxGridView.ASPxGridView.GetCallbackResult()
   at DevExpress.Web.ASPxClasses.ASPxWebControl.System.Web.UI.ICallbackEventHandler.GetCallbackResult()

私は何か間違ったことをしていますか?

どんな助けでも大歓迎です。

4

1 に答える 1

1

ObjectDataSourceを避け、コードビハインドでバインディングを行うことをお勧めします。

ObjectDataSourceを使用してクライアント側のコードを生成し、それを削除することができます。

IMHO、ObjectDataSource、およびその友人はプロ級ではありません。

于 2011-05-13T12:41:30.677 に答える