ここでの質問は、入れ子になった GridView を使用するか、SQL UNION を使用して 2 つのテーブルのデータを "事前に組み立てて" 単一の GridView で表示して、下の図のように表示することです。
私はASP.Netプロジェクトに取り組んでおり、2つのデータベースのテーブル間でデータを一致させるフォームを開発しています(テーブルが同じデータベースにある可能性があり、大きな違いはありません)。可能な一致を事前に計算する SQL ストアド プロシージャがあります。私が開発しているフォームは、これらの可能な一致をユーザーに表示し、ユーザーは、あるデータベースのどの行が他のデータベースのどの行に対応するかを決定します。照合は、データの類似性に基づいて行われます。
次のようになります。
検索ボックスは、必要に応じて手動で一致を取得するためのものです。アクション列には、マッチングを実行するためのボタンが含まれます。しかし、ここでは、これらを気にする必要はありません。
もちろん、ネストされた GridView またはネストされた Repeater を使用してこれを実現できますが、これは適切な方法ですか? これは、データベース DB1 から行を取得するためにデータベースに対して 1 つのクエリを発行し、DB1 の各行に対してデータベース DB2 に対して 1 つのクエリを発行することを意味します。通常、DB1 には数百または数千の行があります。2000 までとしましょう。また、GridView よりも Repeater を使用することを推奨する人もいますが、メインのデータ ソース (私の場合は DB1) でページングが必要な場合はどうでしょうか。
DB1 と DB2 の情報は似ているため、UNION クエリを使用して DB1 と DB2 のデータをマージできると考えました。この方法を使用してページングを行う方法がわからないことを除いて、私はそれを行うことができます。このシナリオでページングを使用すると、2 つのページに分割された 1 つの DB1 エントリに対して DB2 の一致が発生するリスクがあり、これを回避したいと考えています。