3

girdview (asp.net) に使用している DataTable オブジェクトを既に作成しています。そのオブジェクトの列を DropDownList にバインドする必要もあります。データテーブルの列には正しい詳細が含まれていますが、列には同じ名前の列が 1 つ以上含まれています。したがって、データテーブルである種の SELECT DISTINCT を実行し、バインディングで使用するために新しいデータテーブルにコピーしたいと思います。ドロップダウン。

これにより、データベースにもう一度アクセスすることでリソースを節約できます。

例を次に示します。現在のデータテーブルには項目と呼ばれる列があり、この列には次のエントリがあります

1
1
1
1
5
5
6

もちろん、ドロップダウンにバインドするには一意のアイテムのみが必要なので、次のデータが必要です

1
5
6

もちろん、元のデータテーブルオブジェクトを変更したくはありませんが、新しい詳細のためにコピーを作成します

これが可能であれば何か考えはありますか? または、データベースにもう一度アクセスする必要がありますか?

前もって感謝します

4

2 に答える 2

3

DataTable dt = 新しい DataTable(); dt = dsMobileInfo.Tables[0].DefaultView.ToTable(true, "列名");

// dvResult データ セットをグリッドに適用 for(int i=0;i

これがうまくいくことを願っています。

于 2010-11-16T09:30:43.990 に答える
1

デフォルト ビュー (または使用しているその他のビュー) でToTable()を使用し、true を指定して、別個のレコードが必要であることを示す必要があります。

DataTable distinctTable = originalTable.DefaultView.ToTable(true);
于 2010-11-16T08:19:07.253 に答える