ValueMember は、ドロップダウンのどの列が値で使用されるかを決定します。このプロパティが設定されていない場合、最初の列が使用されます。ValueMember として使用される列を決定するには、ValueMemberResolved プロパティを使用できます。
たとえば、ユーザーがリストをドロップダウンして顧客を選択できる UltraGrid コントロールに列がある場合、UltraDropDown コントロールを使用して、顧客のテーブルにそれをバインドします。顧客を一意的に識別するために顧客テーブルはプライマリ キーを持ちます。この顧客 ID フィールドは、UltraDropDown の ValueMember として使用されます。
この ID 値は、アプリケーションのユーザーにはそれほど役立ちません。したがって、顧客の名前を含むリストのフィールドに DisplayMember を設定します。グリッド セルは ID を保存しますが(おそらく整数または他の数値型フィールドで)、表示はユーザー フレンドリな顧客名を表示します。
UltraCombo コントロールは、グリッド セルを使用する代わりに編集部分を持つことを除いて同じように動作します。Value は ValueMember と表示によって決定し、Text プロパティは DisplayMember によって決定します。
データ値をよりユーザー フレンドリなディスプレイ テキストに変換したい場合は DisplayMember だけを設定します。保存した値と画面に表示される値を同じにしたい場合、DisplayMember を設定する必要はありません。ValueMember の設定は十分です。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.oleDbDataAdapter1.Fill(Me.DataSet11) ' 以下のコードはコントロールを初期化します ' コンボをデータ ソースにバインドします Me.ultraCombo1.DataSource = Me.DataSet11 Me.ultraCombo1.DataMember = "" ' ValueMember および DisplayMember を適切な列キーに設定します Me.ultraCombo1.ValueMember = "ProductID" Me.ultraCombo1.DisplayMember = "ProductName" ' UltraCombo の BorderStyle プロパティを設定して、 ' 編集領域の境界線スタイルを設定しますDisplayLayout の BorderStyle プロパティは ' ドロップダウン ウィンドウの境界線を変更します Me.ultraCombo1.BorderStyle = UIElementBorderStyle.Solid Me.ultraCombo1.DisplayLayout.BorderStyle = UIElementBorderStyle.Solid ' 自動編集を有効にします有効にすると、ユーザーがテキストを入力するときに、 ' UltraCombo が自動的に一致する項目を検索します Me.ultraCombo1.AutoEdit = True ' ドロップダウンのスタイルを設定します Me.ultraCombo1.DropDownStyle = UltraComboStyle.DropDown ' UltraCombo の編集領域の外観を設定します Me.ultraCombo1.Appearance.FontData.Bold = DefaultableBoolean.True Me.ultraCombo1.Appearance.ForeColor = Color.Maroon ' UltraCombo のドロップダウン領域の外観を設定します Me.ultraCombo1.DisplayLayout.Appearance.ForeColor = Color.DarkBlue ' ドロップダウン項目の最小値および最大値を設定します Me.ultraCombo1.MinDropDownItems = 5 Me.ultraCombo1.MaxDropDownItems = 10 End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; private void Form1_Load(object sender, System.EventArgs e) { this.oleDbDataAdapter1.Fill( this.dataSet11 ); this.oleDbDataAdapter2.Fill( this.dataSet21 ); this.oleDbDataAdapter3.Fill( this.dataSet21 ); this.oleDbDataAdapter4.Fill( this.dataSet21 ); // 以下のコードはコントロールを初期化します // コンボをデータ ソースにバインドします this.ultraCombo1.DataSource = this.dataSet11; this.ultraCombo1.DataMember = ""; // ValueMember および DisplayMember を適切な列キーに設定します this.ultraCombo1.ValueMember = "ProductID"; this.ultraCombo1.DisplayMember = "ProductName"; // UltraCombo の BorderStyle プロパティを設定すると、 // 編集領域の境界線スタイルを設定しますDisplayLayout の BorderStyle プロパティは // ドロップダウン ウィンドウの境界線を変更します this.ultraCombo1.BorderStyle = UIElementBorderStyle.Solid; this.ultraCombo1.DisplayLayout.BorderStyle = UIElementBorderStyle.Solid; // 自動編集を有効にします有効にすると、ユーザーがテキストを入力するときに、 // UltraCombo が自動的に一致する項目を検索します this.ultraCombo1.AutoEdit = true; // ドロップダウンのスタイルを設定します this.ultraCombo1.DropDownStyle = UltraComboStyle.DropDown; // UltraCombo の編集領域の外観を設定します this.ultraCombo1.Appearance.FontData.Bold = DefaultableBoolean.True; this.ultraCombo1.Appearance.ForeColor = Color.Maroon; // UltraCombo のドロップダウン領域の外観を設定します this.ultraCombo1.DisplayLayout.Appearance.ForeColor = Color.DarkBlue; // ドロップダウン項目の最小値および最大値を設定します this.ultraCombo1.MinDropDownItems = 5; this.ultraCombo1.MaxDropDownItems = 10; }