Qlik Community

Qlik Japan

Qlik Communityの日本語のグループです。 Qlik製品に関する日本語資料のダウンロードや質問を日本語で投稿することができます。質問に関する回答は基本的に日本語で行われます。 日本語資料はグループにJoinしなくてもダウンロード可能ですが、 質問を投稿したい場合は、CommunityへのログインをしてグループにJoin Requestを行って下さい。 承認を受けた後に質問を投稿することが可能になります。 ログインはQlikIDを登録してください。

Highlighted
kizineko
Visitor

Extensionから複数のリストボックスを選択したい

こんにちは。

Extension内でjquery関数内から、qvw上の複数リストボックスを選択した状態にしたいのですが

以下ソースでWebviewを立ち上げると、二つのリストボックス(オブジェクトID-hoge1とhoge2)までしか選択されません。

(それぞれのSelectTextsの間に、setIntervalやsleep,wait等も差し込んでみましたが、同じ結果となります)

そもそもQvオブジェクトの仕様でできない等あるかもしれませんが、解決策をご存知の方がいらっしゃいましたら、ご教授ください。

===

$(function(){

     ...

     // ドキュメント取得(※exstension_init()内で定義)

     // test_doc = Qv.GetCurrentDocument();

     //リストボックス オブジェクトID[hoge0~5]を取得

     var test_qv_objs =[];

     test_qv_objs[0] = test_doc.GetObject("hoge0");

     test_qv_objs[1] = test_doc.GetObject("hoge1");

     test_qv_objs[2] = test_doc.GetObject("hoge2");

     test_qv_objs[3] = test_doc.GetObject("hoge3");

     test_qv_objs[4] = test_doc.GetObject("hoge4");

     test_qv_objs[5] = test_doc.GetObject("hoge5");

     //オブジェクトID[hoge1~5]のリストボックスを、それぞれの引数値で選択した状態にする

     test_qv_objs[1].Data.SelectTexts(["A"]);

     test_qv_objs[2].Data.SelectTexts(["B"]);

     test_qv_objs[3].Data.SelectTexts(["C"]);

     test_qv_objs[4].Data.SelectTexts(["D"]);

     test_qv_objs[5].Data.SelectTexts(["E"]);

     ...

});

===

(追記)

唯一、できそうであったのが以下のcallbackを用いたやり方です。

alertを表示させ、かつ、間隔を空けてalertの完了ボタンを押下...していけば全て選択された状態でリストボックスが表示されました。

ならばここでsleep系の処理をと思い試しましたが、結果は上記質問で挙げた内容と同じとなり今に至ります...)

===

     test_qv_objs[1].Data.SelectTexts(["A"]);

     test_qv_objs[1].callbackFn = function(){

          test_qv_objs[1].callback = null;

          

          test_qv_objs[2].Data.SelectTexts(["B"]);

          test_qv_objs[2].callbackFn = function(){

               test_qv_objs[2].callback = null;

               ...//以下、同ソースをtest_qv_objs[5]まで記載

          }

      }

===

Tags (1)