環境:Visual Basic 2008
教えて下さい。
コンボボックスにデータベースから取得した値をセットし表示させていますが、
初期表示の場合、1行目を空白にしたいと考えています。
そこでいろいろHP等を検索してみましたが、下記のようにバインドしているような
場合の方法が見つからず、、、
どのようにすれば良いかを教えて頂ければ幸いです。
Try
Dim dt1 = New DataTable
Dim ds1 As New DataSet
'SQL文作成
Dim adp1 As New OracleDataAdapter("SELECT * FROM T_メーカーマスタ ORDER BY メーカーコード", Connection)
ds1.Clear()
'データセットの中にT_部品名称というテーブルを作成し、そこへ格納する。
adp1.Fill(ds1, "T_メーカーコード")
CMB_メーカー名.DataSource = ds1.Tables("T_メーカーコード")
CMB_メーカー名.DisplayMember = "メーカー名称"
CMB_メーカー名.ValueMember = "メーカーコード"
Catch ex As Exception
' 例外が発生した時の処理
MessageBox.Show(ex.ToString, "例外発生")
End Try
よろしくお願いします。
> adp1.Fill(ds1, "T_メーカーコード")
>
> CMB_メーカー名.DataSource = ds1.Tables("T_メーカーコード")
この間で ds1.Tables("T_メーカーコード")の先頭レコードに
必要な行を挿入するとよいかと思います。
shu様、いつもご回答ありがとうございます。
教えて頂いたように間に行追加でテーブルにデータをセットしましたが、なぜか最終行と
なってしまいます。
行の先頭に来る為には何か他に記述が必要なのでしょうか?
教えて下さい。
よろしくお願いします。
'データセットの中にT_部品名称というテーブルを作成し、そこへ格納する。
adp3.Fill(ds3, "T_仕入先コード")
Dim newCustomersRow As DataRow = ds3.Tables("T_仕入先コード").NewRow()
newCustomersRow("仕入先コード") = "000"
newCustomersRow("仕入先名称") = " "
ds3.Tables("T_仕入先コード").Rows.Add(newCustomersRow)
CMB_依頼業者名.DataSource = ds3.Tables("T_仕入先コード")
CMB_依頼業者名.DisplayMember = "仕入先名称"
CMB_依頼業者名.ValueMember = "仕入先コード"
追加ではなく挿入です
Addを使用せずInsertAtを使ってみて下さい。
shu様、ご回答ありがとうございます。
イメージ通りのものができるようになりました!
ありがとうございました!!
ツイート | ![]() |