『複数の項目選択』の選択肢が反映されません

複数の項目を選択のアクティビティを使用しているのですが上手くいきません。
原因と対策わかる方いらっしゃいましたら教えてください!

↓状況です
・<a,b,c(変数→オプション)>をオプション.Split(","c)で分割(変数→オプションarray)
・複数の項目を選択で、{オプションarray(0),オプションarray(1),オプションarray(2)}と設定

よろしくお願いいたします。

こんにちは

複数の項目を選択のアクティビティを使用しているのですが上手くいきません。

何かエラー等は出ていますでしょか?
・取り急ぎの確認事項としては、変数内の各値と、選択項目が完全に一致しているか
・セレクターが対象の要素を正しく指定しているか(多くの場合はSelect要素かと思いますが)

対象の要素・構造によっては、このアクティビティでは対応できない可能性もありますので、
その場合は別のアプローチが必要かと思います。

こんにちは!

image
このようなエラーが出ています。

ちなみに、{}内に選択項目の名前を直打ちしたところ反応はしているようです。
となると
『変数内の各値と、選択項目が完全に一致しているか』
ここが原因でしょうか?

こんにちは

この可能性が高いと思います。

ちなみに、{}内に選択項目の名前を直打ちしたところ反応はしているようです。

変数からの処理が想定通りに行われていないのでないでしょうか?
デバッグモードで実行した場合、上記エラーの発生で一旦停止すると思いますが、
その際に左側のローカルパネルで変数の中身が確認できますので、
まずはこちらの内容について、空白の有無等も含めて確認いただくのが良いように
思えます。

ありがとうございます!
変数への格納まではエラーが起きていません。
メッセージボックスにオプションarray(0)を入れると表示されます。

複数の項目を選択のプロパティの『複数項目』に{オプションarray(0),オプションarray(1),オプションarray(2)}と入力していますが、こちらは合っていますでしょうか?

こんにちは

その表示されている文字列が空白も含めて完全一致しているかが問題になります。
(例えば後ろに余分な空白があると、一致になりません)
その文字列の文字数を出力する、あるいはSplitする前の文字列について、カンマの前後に余分な空白が無いか等が確認ポイントになります。

複数の項目を選択のプロパティの『複数項目』に{オプションarray(0),オプションarray(1),オプションarray(2)}と入力していますが、こちらは合っていますでしょうか?

カッコの全角・半角が正しくないように思えますが、これが正規に入力されているとすれば書式自体は問題ないと思います。
なお元がString配列なので、単に オプションarray と入力するだけでOKです。(この場合、中かっこも不要です)
(中身が選択項目と一致していることが前提ですが)

オプションarrayのローカル値が、

1 String[3] { ““a, @”
2 b”, @"
3 c" }
と3行になっているのですが、こちらに関して何か問題ありますでしょうか?

こんにちは

改行が入っているのではないでしょうか?
文字列を分割する際に以下の式を試してみてください。

オプションarray = yourString.Split({","c,vbCr,vbLf},StringSplitOptions.RemoveEmptyEntries)

こちらの式で改行がなくなり、無事に複数の項目が選択されました。
ご丁寧に教えていただいてありがとうございます!

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.