コンボボックスコンポーネントのメッソドについて

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 コンボボックスコンポーネントのメッソドについて

3 件の投稿を閲覧中 - 1 ~ 3 件(全 3 件)
  • 著者
    投稿
  • #6521
    ORIteck CO., LTD
    一般参加者

    コンボボックスコンポーネントの「現在選択されている項目の位置を取得する」メソッドですが、取得する結果についてお願いします。
    単純に、設定項目の上から順番に、0,1,2,3…..と思っておりましたが(上から2番目が選択されていれば、1)、設定項目に重複値がある場合、その重複値のどの位置の値を選択しても上から最初にあるその重複値が選択される、結果として最初に選択した位置の値でない。
    このメッソドは、そもそもどう考えるべきなのでしょうか?

    コンボボックスコンポーネントの設定要素に重複値がある必要性が何故あるのか、基本的には無いと思いますが、テーブルコンポーネントの指定列の列データをリスト形式で取得しコンボボックスコンポーネントに全項目のラベル名を設定するケースを度々使用します、このケースでは、コンボボックスの設定元テーブルのセル値取得をコンボックスの選択位置をテーブルの行位置としてある列で取得することがよくあります。同じ位置関係にあるのが当たり前だとおもっておりました。

    今回、取引先に既に登録済と同名の会社名が加わり、上記プロセスの所で問題が発生しました。「この段階で、そもそもどっちを選択するの?」十分承知するところではありますが、上記のケースを考えると単純に同位置である方がとおもったりするので、お聞かせいただければと思います。

    #6522
    MZPlatformユーザー会
    サイト管理者

    お問い合せ頂いた現象はMZPlatformが使用しているJava側の仕様によるもので、「現在選択されている項目の位置を取得する()(getSelectedIndex())」は指定された項目に一致する、リスト内の最初の項目を返します。

    [コンボボックス]に重複要素を設定しないようにする場合は、一旦[リスト格納変数]にリストを設定して、「重複要素を削除したリストを取得する()」でリストを取得します。

    以前にも同様のご質問がありましたので、ご参考になれば幸いです。
    https://ssl.monozukuri.org/mzplatform/forums/topic/%e3%82%b3%e3%83%b3%e3%83%9c%e3%83%9c%e3%83%83%e3%82%af%e3%82%b9%ef%bc%9a%e9%a0%85%e7%9b%ae%e4%bd%8d%e7%bd%ae%e3%81%ae%e5%8f%96%e5%be%97%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6/

    #6523
    伊予研究会
    一般参加者

    データベースでも同様の問題があり、私が行っている同一会社名選択の回避は次のようにしています。

    会社名は同一でも所在地は異なっていると思いますので、
     会社名+住所
    で表示をすれば問題ありませんが、会社名と住所を別のテーブルで管理している場合や、会社の住所(工場、支店)など複数ある場(1対多結合)は、会社名だけのテーブルからリストにしたのでは今回のような問題が生じます。
     そこでリストに入れる前に、会社名+住所(代表の住所)の文字列を作り、表示だけのリストとして順番に入れておけば、選択時に指定のリスト番号を呼び出すことができます。

    ご参考まで。

3 件の投稿を閲覧中 - 1 ~ 3 件(全 3 件)
  • このトピックに返信するには、ログインしてください。