1

2 つの異なるデータセットを同じ DevExpress グリッドビューにバインドするにはどうすればよいですか。選択した値に応じて、最初または 2 番目のデータセットのいずれかに入力する必要があります。

TU

4

2 に答える 2

0

何を試しましたか?

とにかく、これらは機能するさまざまなアプローチです。

  1. grid.DataSourcePage/UserControl Load イベントで割り当てます。Bind必要に応じてそれを確認してください。
  2. ASPxGridViewgrid.DataSourceのイベントで割り当て、必要に応じて Load イベントで呼び出します(したがって、イベントが呼び出されます)。OnDataBindingBind
  3. DataSource コントロールを使用して (私はGenericDataSourceControlが本当に好きです)、それが返すものを変更します (GenericDataSourceControl にはOnExecuteSelect関数1があります)。たとえば、マークアップで設定すると、DataSourceId=".."これは自動的にバインドされます。ObjectDataSourceまた、LinqDataSource宣言的なパラメーターを取ることもできます。

ほとんどの場合、#3 を好みます。これは「バインド遅延」です。これは、バインドするデータセット (イベントへの応答など) が既に更新されていることを状態が判断する必要があることを意味します。そうしないと、イベントはグリッドを再バインドする必要があり、無駄なバインドになります。おまけとして、ViewState が乱雑に/利用されていないことも保証されます。

もちろん、これらのジャンクションのそれぞれで、「正しい」データセットを割り当てます。

異なる列/並べ替え構成を持つ 2 つの異なるデータセットがある場合に適した別のオプションは、2 つのコントロールを作成し、それらの間で可視性を切り替えることです (クライアントの可視性だけでなく、実際の可視性)。コントロールが表示されていない場合は、無駄な操作になるため、データをコントロールにバインドしないでください。

ハッピーコーディング!


1 LinqDataSourceでありServerModeLinqDataSource、「select メソッド」も使用できますが、GenericDataSource によって提供されるインターフェイスの方が操作がはるかに簡単で、データ ソースを更新しようとするときにいくつかの「落とし穴」がありません。ObjectDataSource は、GAC ソリューションで処理する単なる PITA であり、使用するのが負担のように感じます。

于 2012-06-28T16:31:17.990 に答える
0

aspxgridview の設定に使用されるデータセットに応じて、特定の条件はありますか?

クラスファイルでその条件を確認するだけで、その条件に応じて目的のデータセットを返すことができます。

条件に関連するもう 1 つのパラメーターをメソッドに渡し、正確なデータセットを返し、それをグリッドにバインドするだけです。

于 2012-09-06T21:11:12.113 に答える