- ベストアンサー
コンボボックスに固定値をセットして表示する方法
- VB.NET 2008で開発を行っています。質問の目的は、実行プログラムにおいて、画面に配置したコンボボックスをクリックした際、性別の値を選択肢として表示させることです。
- Form_Load()時に、コンボボックスに上記の値を固定でセットしています。しかし、現在の実装では空白しか表示されません。
- セットした値をコンボボックスの選択肢として表示させる方法をご教授願えますでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
コンボボックスには表示するデータの為のプロパティがありまして、DataSourceというものがあります。 そして、画面に表示する値と内部的に使用する値を指定するプロパティもありまして、それぞれDisplayMemberとValueMemberです。 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim ds As DataSet '性別の取得 ds = getDataFields() Me.ComboBox1.DataSource = ds.Tables(0) Me.ComboBox1.DisplayMember = ds.Tables(0).Columns("DataValueField").ToString() Me.ComboBox1.ValueMember = ds.Tables(0).Columns("DataTextField").ToString() End Sub Private Function getDataFields() As DataSet '変数宣言 Dim ds As DataSet Dim dt As New DataTable Dim dr As DataRow dt.Columns.Add("DataTextField", GetType(String)) dt.Columns.Add("DataValueField", GetType(String)) '空白セット dr = dt.NewRow() dr("DataTextField") = "0" dr("DataValueField") = "...." dt.Rows.Add(dr) dr = dt.NewRow() dr("DataTextField") = "1" dr("DataValueField") = "男性" dt.Rows.Add(dr) dr = dt.NewRow() dr("DataTextField") = "2" dr("DataValueField") = "女性" dt.Rows.Add(dr) ds = New DataSet ds.Tables.Add(dt) Return ds End Function
お礼
問題は解決しました。 ありがとうございました。