作成日: 2021/03/16 最終更新日: 2021/03/16
文書種別
使用方法
詳細
C1ComboBoxのTextDetachedプロパティをTrueにすると、TextプロパティとValueプロパティを個別に設定できるようになります。この場合、ドロップダウンリストに表示されるテキストの他に内部的な値を持つことになりますが、SelectedIndexChangedイベントを利用すると、リストから選択したテキスト(*1)とそれに対応する値(*2)を取得することができます。
*1 : Textプロパティを使用
*2 : SelectedItemまたはValueプロパティを使用
※C1ComboBoxのTranslateValueプロパティをTrueに設定するとTextDetachedプロパティも自動的にTrueになるため、同様の結果を得ることができます。
以下に、データテーブルの"TEXT"列/"VALUE"列をそれぞれテキスト/値にバインドし、選択テキストと値を取得するサンプルコードを記載します。フォーム上にC1ComboBoxと3個のラベルを配置して動作をご確認ください。
◎サンプルコード(VB)
*1 : Textプロパティを使用
*2 : SelectedItemまたはValueプロパティを使用
※C1ComboBoxのTranslateValueプロパティをTrueに設定するとTextDetachedプロパティも自動的にTrueになるため、同様の結果を得ることができます。
以下に、データテーブルの"TEXT"列/"VALUE"列をそれぞれテキスト/値にバインドし、選択テキストと値を取得するサンプルコードを記載します。フォーム上にC1ComboBoxと3個のラベルを配置して動作をご確認ください。
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの作成
Dim dt As DataTable = New DataTable
dt.Columns.Add("TEXT")
dt.Columns.Add("VALUE")
dt.Rows.Add("リンゴ", "10")
dt.Rows.Add("ブドウ", "20")
dt.Rows.Add("オレンジ", "30")
dt.AcceptChanges()
' C1ComboBoxの設定
'C1ComboBox1.TranslateValue = True ' TextDetached=trueが自動的に設定される
C1ComboBox1.TextDetached = True
C1ComboBox1.DropDownStyle = C1.Win.C1Input.DropDownStyle.DropDownList
C1ComboBox1.ItemsDataSource = dt
C1ComboBox1.ItemsDisplayMember = "TEXT"
C1ComboBox1.ItemsValueMember = "VALUE"
AddHandler C1ComboBox1.SelectedIndexChanged, AddressOf C1ComboBox1_SelectedIndexChanged
End Sub
Private Sub C1ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Label1.Text = ("テキスト:" + C1ComboBox1.Text)
Label2.Text = ("値(SelectedItem):" + c1ComboBox1.SelectedItem)
Label3.Text = ("値(Value):" + C1ComboBox1.Value)
End Sub
◎サンプルコード(C#) public Form1()
{
InitializeComponent();
// データの作成
DataTable dt = new DataTable();
dt.Columns.Add("TEXT");
dt.Columns.Add("VALUE");
dt.Rows.Add("リンゴ", "10");
dt.Rows.Add("ブドウ", "20");
dt.Rows.Add("オレンジ", "30");
dt.AcceptChanges();
// C1ComboBoxの設定
//c1ComboBox1.TranslateValue = true; //TextDetached=trueが自動的に設定される
c1ComboBox1.TextDetached = true;
c1ComboBox1.DropDownStyle = C1.Win.C1Input.DropDownStyle.DropDownList;
c1ComboBox1.ItemsDataSource = dt;
c1ComboBox1.ItemsDisplayMember = "TEXT";
c1ComboBox1.ItemsValueMember = "VALUE";
c1ComboBox1.SelectedIndexChanged += C1ComboBox1_SelectedIndexChanged;
}
private void C1ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
label1.Text = "テキスト:" + c1ComboBox1.Text;
label2.Text = "値(SelectedItem):" + c1ComboBox1.SelectedItem;
label3.Text = "値(Value):" + c1ComboBox1.Value;
}
関連情報
旧文書番号
86491