作成日: 2022/12/21 最終更新日: 2022/12/21
文書種別
使用方法
環境
.NET 6
ComponentOne 2022J v2以降
詳細
C1ComboBoxで、ItemsValueMemberとItemsDisplayMemberプロパティを用いて、ドロップダウン項目に実際の値と表示値を指定した場合、ドロップダウンから選択した項目は、ComponentOneのバージョンによって、テキストボックス部に以下のように表示されます。
・ComponentOne 2022J v1:ItemsDisplayMemberで指定した表示値
・ComponentOne 2022J v2:ItemsValueMemberで指定した実際の値
例)たとえば下記コードでItemsValueMember(値)とItemsDisplayMember(名称)を設定し、c1ComboBox1.ItemsDataSourceに設定した場合を考えます。
・ComponentOne 2022J v1:"コード01"
・ComponentOne 2022J v2:"01"

両者の違いは、TranslateValueプロパティを設定した時の動作が2022J v1で不正だったために発生します。
TranslateValueプロパティは、項目のデータソースで、 Value(実際の値)をText(表示値)に変換するかどうかを指定するものです。デフォルト値はFalseなので、2022J v2のようにテキストボックス部にはItemsValueMember(実際の値)がそのまま表示されるのが期待される動作となります。
2022J v2で「表示値」をテキストボックス部に表示するには、TranslateValueプロパティを「True」に設定してください。
・ComponentOne 2022J v1:ItemsDisplayMemberで指定した表示値
・ComponentOne 2022J v2:ItemsValueMemberで指定した実際の値
例)たとえば下記コードでItemsValueMember(値)とItemsDisplayMember(名称)を設定し、c1ComboBox1.ItemsDataSourceに設定した場合を考えます。
IList source = new List();
source.Add(new DataSourceClass { 値 = "01", 名称 = "コード01" });
source.Add(new DataSourceClass { 値 = "02", 名称 = "コード02" });
this.c1ComboBox1.ItemsDataSource = source;
実行してドロップダウンから1番目の項目を選択すると、テキストボックス部に表示されるテキストは、・ComponentOne 2022J v1:"コード01"
・ComponentOne 2022J v2:"01"
両者の違いは、TranslateValueプロパティを設定した時の動作が2022J v1で不正だったために発生します。
TranslateValueプロパティは、項目のデータソースで、 Value(実際の値)をText(表示値)に変換するかどうかを指定するものです。デフォルト値はFalseなので、2022J v2のようにテキストボックス部にはItemsValueMember(実際の値)がそのまま表示されるのが期待される動作となります。
2022J v2で「表示値」をテキストボックス部に表示するには、TranslateValueプロパティを「True」に設定してください。
c1ComboBox1.TranslateValue = true;