サポート&サービス

Home > サポート&サービス > テクニカルサポート > ナレッジベース

テクニカルサポート

製品に関する技術的なサービスを提供しています。製品別の技術情報(ナレッジベース)および、対応環境情報をご覧いただけます。また、E-mailによるテクニカルサポートのお申し込みもこちらで受け付けています。

ComponentOne サブスクリプション製品をご購入された方

サブスクリプションにて、ComponentOne製品(ComponentOne Studio、Wijmo、Xuni)をご購入された方は、下記のComponentOne Studioサイトからユーザー登録をお願いいたします。

ComponentOne サブスクリプション製品のユーザー登録を行う

ナレッジベース

GcComboBoxコントロールのSelectedIndexChangedイベントでSetFocus()が機能しない
文書番号 : 41424     文書種別 : Bug
登録日 : 2017/12/06     最終更新日 : 2017/12/06
文書を印刷する
対象製品
InputMan for ASP.NET 10.0J
ステータス
回避方法あり
詳細
GcComboBoxのドロップダウンからマウス操作で値を選択した場合、クライアント側のSelectedIndexChangedイベントで、フォーム上の他のコントロールに対してSetFocus()やfocus()メソッドを実行してもフォーカスが移動されません。
上下のカーソルキー(矢印キー)で値を選択した場合は問題ありません。
回避方法
以下のようなJavaScriptで回避することができます。

[JavaScript]
<script type="text/javascript">
  window.onload = function () {
    if (window.GCIM && GCIM.GcComboBox) {
      var oldFunc = GCIM.GcComboBox.prototype.OnDropDownClosed;
      GCIM.GcComboBox.prototype.OnDropDownClosed = function () {
        oldFunc.apply(this, arguments);
        this._mouseIsOnDropDownList = false;
      };
    }
  };

  function GcComboBox1_SelectedIndexChanged(sender, eArgs) {
    var subitems = sender.GetSelectedItem().GetSubItems();
    switch (subitems[0].GetValue()) {
      case "A":
        setTimeout(function () {
          FindIMControl("GcTextBox1").SetFocus();
        }, 0);
        break;
      case "B":
        setTimeout(function () {
          document.getElementById("TextBox1").focus();
        }, 0);
        break;
    }
  }
</script>

この情報は、疑問・問題解決のお役に立ちましたか?

    


こちらに入力されたご質問には回答できませんので、製品に関するお問い合わせは、別途「E-mailサポート」をご利用ください。


※ 個人情報保護のため、個人情報の記入はご遠慮ください。

このページの先頭へ