C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 三つのIDをDropDownListにバインドに関して


(過去ログ 72 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■41851 / inTopicNo.1)  三つのIDをDropDownListにバインドに関して
  
□投稿者/ あいうえお (2回)-(2009/10/01(Thu) 14:27:09)

分類:[.NET 全般] 

 C#

 今ひとつのSQL文で三つのid1,id2,id3を検索しました。
 検索した三つのidをPage_Loadにて一つのDropDownListにバインドしたいですが、

 3つのidをバインドすることが可能ですか?

 何とか言うとこの三つのidがテーブルのプライマリキーです。
 
 で 画面のDropDownListから一つを選択し、三つのidを利用して、別テーブルの検索条件に使いたいのです。

 教えてください、よろしく、お願いいたします。

   
引用返信 編集キー/
■41852 / inTopicNo.2)  Re[1]: 三つのIDをDropDownListにバインドに関して
□投稿者/ たくボン (236回)-(2009/10/01(Thu) 14:49:34)
No41851 (あいうえお さん) に返信
>  C#
>
>  今ひとつのSQL文で三つのid1,id2,id3を検索しました。
>  検索した三つのidをPage_Loadにて一つのDropDownListにバインドしたいですが、
>
>  で 画面のDropDownListから一つを選択し、三つのidを利用して、別テーブルの検索条件に使いたいのです。

別のDataTableを用意して、それに各データをぶち込む。
流れとしてはこんな感じ。


Dim dt1 As New DataTable
Dim dt2 As New DataTable
Dim dt3 As New DataTable

'dt1からdt3をほげっと検索

Dim dtBind As DataTable = dt1.Copy
For Each r2 As DataRow In dt2.Rows
dtBind.ImportRow(r2)
Next
For Each r3 As DataRow In dt3.Rows
dtBind.ImportRow(r3)
Next
'dtBindをコンボにバインド

dt1からdt3の列情報は同じなのが前提かな。違うようならここらはSQLで調整してください。

引用返信 編集キー/
■41856 / inTopicNo.3)  Re[1]: 三つのIDをDropDownListにバインドに関して
□投稿者/ gtk2k (87回)-(2009/10/01(Thu) 15:41:49)
DropDownListということはASP.NET?

強引な方法でSQLを
SELECT 表示させる列, id1 + ',' + CONVERT(varchar(10), id2) + ',' + id3 val FROM table
という感じで文字列連結し、
DropDownListのDataValueFieldには"val"を設定。
選択されたときは
string[] keys = ((string)this.DropDownList1.SelectedValue).Split(',');
string id1 = keys[0];
int id2 = int.Parse(keys[1]);
string id3 = keys[2];
という感じで3つのキーを取得

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -