- - PR -
VB2005のComboBoxについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-08-20 18:52
こんばんは。
VB2005のComboBoxについて1つ教えて下さい。 伝票形式の入力の為、同じ内容を表示する(商品コードを表示します) ComboBoxを3つ配置しました。 Dim da As New SqlDataAdapter("SELECT CD,NAME FROM TBL"), con) Dim ds As New DataSet() da.Fill(ds, "SYO") cbo0.DataSource = ds cbo0.DisplayMember = "SYO.NAME" cbo0.ValueMember = "SYO.CD" cbo1.DataSource = ds cbo1.DisplayMember = "SYO.NAME" cbo1.ValueMember = "SYO.CD" cbo2.DataSource = ds cbo2.DisplayMember = "SYO.NAME" cbo2.ValueMember = "SYO.CD" とコーディングしましたら1行目のComboBoxの内容を チェンジすると残り2つのComboBoxの内容もチェンジ してしまいます。 Dim da As New SqlDataAdapter("SELECT CD,NAME FROM TBL"), con) Dim ds As New DataSet() da.Fill(ds, "SYO") cbo0.DataSource = ds cbo0.DisplayMember = "SYO.NAME" cbo0.ValueMember = "SYO.CD" Dim da As New SqlDataAdapter("SELECT CD,NAME FROM TBL"), con) Dim ds As New DataSet() da.Fill(ds, "SYO") cbo1.DataSource = ds cbo1.DisplayMember = "SYO.NAME" cbo1.ValueMember = "SYO.CD" Dim da As New SqlDataAdapter("SELECT CD,NAME FROM TBL"), con) Dim ds As New DataSet() da.Fill(ds, "SYO") cbo2.DataSource = ds cbo2.DisplayMember = "SYO.NAME" cbo2.ValueMember = "SYO.CD" とデータの取得を3回にわけて実行するとOKなのですが なんとか1回のデータ取得にしたいのですが 何か良い方法はありませんか? そしてもう1つ da.Fill(ds, "SYO") cbo2.DataSource = ds cbo2.DisplayMember = "SYO.NAME" cbo2.ValueMember = "SYO.CD" と書いていますが、Dataviewを取得したあと(できればデータの取得を Dataviewで行いたいため)DataviewでComboBoxの設定は できないのでしょうか? 以上の2点、教えて頂けませんか? 宜しくお願いします。 | ||||
|
投稿日時: 2007-08-20 19:16
Clone
| ||||
|
投稿日時: 2007-08-20 20:25
間違えた。Copyだった。
| ||||
|
投稿日時: 2007-08-20 23:36
DataView経由で値を表示するとか
_________________ かるあ のメモ と スニペット | ||||
|
投稿日時: 2007-08-21 11:05
ありがとうございます。
1点目はCopyでOKでした。 2点目の cbo0.DisplayMember = "SYO.NAME" cbo0.ValueMember = "SYO.CD" は DataViewからDataSource のセットはOKなのですが ValueMember も使いたいのです。 | ||||
|
投稿日時: 2007-08-21 12:46
DataViewは"SYO"という名前のDataTableから作ったものだと思いますので、 ValueMemberとDisplayMemberには単に"CD"と"NAME"を設定すればよいはずです。 | ||||
|
投稿日時: 2007-08-21 13:22
rainさん、ありがとうございます。
|
1