• ベストアンサー

コンボボックス

コンボボックスにデータベースの値セットしたいですが、 具体的なやり方がわかりません。 VS.Net2003 データはデータセットに設定しているのですが OleDbDataAdapter1.Fill(DsBurando1) cmb1.databind()やると コンボボックスの中身は一件目のデータしかなくて、 しかも立て表示しているのですが・・・ どんな設定が必要でしょうか。 よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

> BorderColor='<%# DataBinder.Eval(DsBurando1, "Tables[ブランドコード].DefaultView.[0].ブランド名称") %>' は変ですよね BorderColorにブランド名称を接続してますから プロパティでDataMember、DataSourse、DataTextFieldを設定してあるなら コード側で設定する必要はないと思いますよ OleDbDataAdapter1.Fill(DsBurando1) cmb1.databind() で表示されるんですけどね 当方のテストは MDBファイルをoleDbDataAdapterで接続して ブランドコードテーブルに ID,ブランド名称,Dataフィールドを作成 DataSetには このID,ブランド名称フィールドを取得 で コンボボックスの DataSource,DataMember,DataTextFieldをプロパティウィンドウで設定 Page_Loadイベントで   if not IsPostBack then     OleDbDataAdapter1.Fill(myDS1)     DropDownList1.Databind()   end if といったコーディングです

sinomori
質問者

お礼

なるほどです。 DropDownList1.Databind()してなかったです。^^; 正しく表示できました。 本当にありがとうございます。

その他の回答 (2)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

設定するのは データセットなど       DataSource = ds データセットのテーブル名   DataMember = "myTable01" リストに表示する列名     DataTextField = "Name" リストから取得するデータ列名 DataValueField = "Code" といった具合です 取得する際には ValueFieldを取得したいなら SelectedValue TextFieldを取得したいなら SelectedItem.Text といった具合です

sinomori
質問者

補足

どうも、教えていただいた設定方法を試したんですが、コンボボックスの中身が表示しません。 aspxファイルは <TR> <TD style="HEIGHT: 21px">ブランド</TD> <TD style="HEIGHT: 21px"><asp:dropdownlist id="ddlBrand" runat="server" Height="24px" Width="288px" BorderColor='<%# DataBinder.Eval(DsBurando1, "Tables[ブランドコード].DefaultView.[0].ブランド名称") %>' DataSource="<%# DsBurando1 %>" DataMember="ブランドコード" DataTextField ="ブランド名称"> </asp:dropdownlist></TD></TR> vbファイルは page_loadイベントに OleDbDataAdapter1.Fill(DsBurando1) ddlBrand.DataSource = DsBurando1 ddlBrand.DataMember = "ブランドコード" ddlBrand.DataTextField = "ブランド名称" なにか設定足りないですか。 初心者で、すみません。 よろしくお願いします。

  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.1

コンボボックスのリストにDBのデータを設定したいと言うことでよろしいでしょうか。 以下のように設定します。 cmb1.DataSource = DsBurando1 cmb1.DisplayMember = "DISPNM" <== 表示する内容のカラム名 cmb1.ValueMember = "CODE" <== 実際のデータとして扱うカラム名 この場合のデータセットは、リスト用に更新するものとは別のデータセットを用意してください。

sinomori
質問者

補足

回答ありがとうございます。 DisplayMember使っているのですが、コンボボックスの部品にDisplayMemberがないです。。。 DataMemberならありますけど、同じですか。

関連するQ&A