プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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
といったコーディングです
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/08/03 12:59

設定するのは


データセットなど       DataSource = ds
データセットのテーブル名   DataMember = "myTable01"
リストに表示する列名     DataTextField = "Name"
リストから取得するデータ列名 DataValueField = "Code"
といった具合です

取得する際には ValueFieldを取得したいなら SelectedValue
TextFieldを取得したいなら SelectedItem.Text
といった具合です

この回答への補足

どうも、教えていただいた設定方法を試したんですが、コンボボックスの中身が表示しません。
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 = "ブランド名称"

なにか設定足りないですか。
初心者で、すみません。
よろしくお願いします。

補足日時:2007/08/03 09:56
    • good
    • 0

コンボボックスのリストにDBのデータを設定したいと言うことでよろしいでしょうか。


以下のように設定します。

cmb1.DataSource = DsBurando1
cmb1.DisplayMember = "DISPNM" <== 表示する内容のカラム名
cmb1.ValueMember = "CODE" <== 実際のデータとして扱うカラム名

この場合のデータセットは、リスト用に更新するものとは別のデータセットを用意してください。

この回答への補足

回答ありがとうございます。

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

補足日時:2007/08/02 17:33
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!