0

同じページに4つの同一のグリッドビューを配置したいというシナリオがあります。(これらはAjax TabControlの異なるタブにあります。)これらは同じソースデータを表示しますが、共通の基になるテーブルには4つの対応するソースデータのグループがあります。したがって、タブ1にグループ1を表示し、タブ2にグループ2を表示します。これらのグリッドビューには複雑なコントロールが含まれているため、不必要な繰り返しを避けるために、すべてに同じデータソースを使用することをお勧めします。挿入コマンドと更新コマンドは完全に同じです。

したがって、理論的には、SQLDataSourceにバインドされているGridViewに基づいてデータをフィルタリングできるようにSelectコマンドを作成できます。問題は、すべてのGridviewに同じSQLDataSourceを使用すると、各GridViewにSQLDataSourceにどのグリッドビューを呼び出しているかを通知させる方法が見つからないことです。SQLDataSourceは、何がバインドされているかを知る前に最初にバインドするため、これは不可能だと思いますが、よくわかりません。誰かがこれを行う方法を考えることができますか?

4

1 に答える 1

0

SQLDataSourceのOnSelectingイベントを使用して、パラメーター値を動的に変更できます。これはサーバー側のコードで実行できます。

現在のgridviewの一意のキーを保持するプロパティを作成します。これにより、SQLDataSourceはSQLデータベースからデータをフェッチします。

gridviewのDataBindingイベントでこのプロパティに一意のgridviewキーを割り当てます。

このプロパティに基づいて、SQLDataSourceのOnSelectingイベントのパラメーターを変更します。

何か足りないものがあれば教えてください。

于 2012-04-13T06:45:45.347 に答える