ComboBox

Q1
ComboBoxで選択した要素の選択位置
[内容]
ComboBoxで選択したComboItemの選択位置(配列番号)を取得して利用するにはどうすればよいのか


A1
[解決方法]
残念ながら、ComboBoxではIndexプロパティがご利用頂けません。

ComboBoxクラスはPulldownListクラスと似た外観を持ちつつも、キー入力により選択肢にない値を入力することが可能である事が特徴となります。

但し、その特徴のため選択項目の参照方法がPulldownListオブジェクトとは異なります。ComboBoxオブジェクトのValueプロパティには、PulldownListオブジェクトの様な、選択されている項目の選択位置(配列番号)ではなく、入力値またはComboItemオブジェクトのValue値が格納されます。そのため、Indexプロパティにて選択位置(配列番号)を取得頂く事ができません。

ComboItemの選択位置(配列番号)を取得する事はできませんが、CSVDocumentオブジェクトのテーブルを利用し、擬似的に選択位置(配列番号)を取得する事が可能となります。



[サンプルコード]


CSVDocument data;

/* CSVテキストをロード */
data.get("test.csv");

ComboBox ComboBox1 {
   X = 89;
   Y = 210;
   Width = 285;
   Height = 106;
   ComboItem ComboItem1[0];
   /* CSVDocumentのデータをComboItem1へロード */
   ComboItem1 << ^.data;
  
   Function OnTouch( e ) {
     /* 選択された要素のvalueを取得 */
     var select_data = e.From.value;
     ^.Value_Label2.Value = select_data;
    
     /* 選択された要素のvalueをCSVDocumentより検索し、
      INDEX番号(配列番号)に代わる行番号を取得*/
     var row = ^.data.find(0, "0=="+select_data);
     ^.index_Label2.Value = row;
   }
}

CRSファイル形式のサンプルを
  「選択位置(配列番号)をCSVDocumentから取得(CmbB_005.zip)
よりご利用いただけます。

管理番号:CmbB_005
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser・Biz/Designer TIPS集 トップへ