コンボボックスのドロップダウンリストを自動的に開く

文書番号 : 17020     文書種別 : 使用方法     最終更新日 : 2005/02/26
文書を印刷する
対象製品
El Tabelle for .NET 3.0J
詳細
セルにフォーカスが移ったとき、コンボボックスのドロップダウンリストを自動的に開くには、拡張コンボボックス型セルを使用します。

拡張コンボボックス型セルは、InputMan の imCombo コントロールと共通の機能を持っており、ほとんど同じ動作をシート上で利用できます。

WorkBook/Sheet の場合、次のようにコーディングします。

[Visual Basic]
Imports GrapeCity.Win.ElTabelle
Imports GrapeCity.Win.ElTabelle.Editors

Private Sub Form1_Load(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles MyBase.Load
  Dim objSpComboBoxEditor As New SuperiorComboEditor
  objSpComboBoxEditor.Items.Add("営業部")
  objSpComboBoxEditor.Items.Add("開発部")
  objSpComboBoxEditor.Items.Add("広報室")
  '拡張コンボボックス型セルの自動ドロップダウンを有効にする
  objSpComboBoxEditor.AutoDropDown = True
  'B2セルを拡張コンボボックス型に設定する
  Sheet1(1, 1).Editor = objSpComboBoxEditor
End Sub

Private Sub Sheet1_EnteredCell(ByVal sender As Object, _
  ByVal e As System.EventArgs) Handles Sheet1.EnteredCell
  If Sheet1.ActivePosition.Equals(New Position(1, 1)) = True Then
    'セルの編集を開始する(常時入力モードでは不要)
    Sheet1.KeyAction(KeyAction.EnterEdit)
  End If
End Sub


[C#]
using GrapeCity.Win.ElTabelle;
using GrapeCity.Win.ElTabelle.Editors;

private void Form1_Load(object sender, System.EventArgs e)
{
  SuperiorComboEditor objSpComboBoxEditor = new SuperiorComboEditor();
  objSpComboBoxEditor.Items.Add("営業部");
  objSpComboBoxEditor.Items.Add("開発部");
  objSpComboBoxEditor.Items.Add("広報室");
  //拡張コンボボックス型セルの自動ドロップダウンを有効にする
  objSpComboBoxEditor.AutoDropDown = true;
  //B2セルを拡張コンボボックス型に設定する
  sheet1[1, 1].Editor = objSpComboBoxEditor;
}

private void sheet1_EnteredCell(object sender, System.EventArgs e)
{
  if(sheet1.ActivePosition.Equals(new Position(1, 1)) == true)
  {
    //セルの編集を開始する(常時入力モードでは不要)
    sheet1.KeyAction(KeyAction.EnterEdit);
  }
}


MultiRowSheet の場合、次のようにコーディングします。

[Visual Basic]
Private Sub Form1_Load(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles MyBase.Load
  Dim objSpComboBoxEditor As New SuperiorComboEditor
  objSpComboBoxEditor.Items.Add("営業部")
  objSpComboBoxEditor.Items.Add("開発部")
  objSpComboBoxEditor.Items.Add("広報室")
  '拡張コンボボックス型セルの自動ドロップダウンを有効にする
  objSpComboBoxEditor.AutoDropDown = True
  'セルを拡張コンボボックス型に設定する
  MultiRowSheet1(0, 1, 1).Editor = objSpComboBoxEditor
End Sub

Private Sub MultiRowSheet1_EnteredCell(ByVal sender As Object, _
  ByVal e As System.EventArgs) Handles MultiRowSheet1.EnteredCell
  If MultiRowSheet1.ActivePosition.Equals(New MPosition(0, 1, 1)) = True Then
    'セルの編集を開始する(常時入力モードでは不要)
    MultiRowSheet1.KeyAction(MKeyAction.EnterEdit)
  End If
End Sub


[C#]
using GrapeCity.Win.ElTabelle;
using GrapeCity.Win.ElTabelle.Editors;

private void Form1_Load(object sender, System.EventArgs e)
{
  SuperiorComboEditor objSpComboBoxEditor = new SuperiorComboEditor();
  objSpComboBoxEditor.Items.Add("営業部");
  objSpComboBoxEditor.Items.Add("開発部");
  objSpComboBoxEditor.Items.Add("広報室");
  //拡張コンボボックス型セルの自動ドロップダウンを有効にする
  objSpComboBoxEditor.AutoDropDown = true;
  //セルを拡張コンボボックス型に設定する
  multiRowSheet1[0, 1, 1].Editor = objSpComboBoxEditor;
}

private void multiRowSheet1_EnteredCell(object sender, System.EventArgs e)
{
  if(multiRowSheet1.ActivePosition.Equals(new MPosition(0, 1, 1)) == true)
  {
    //セルの編集を開始する(常時入力モードでは不要)
    multiRowSheet1.KeyAction(MKeyAction.EnterEdit);
  }
}
キーワード
HowTo

この文書は、以前は次のFAQ IDで公開されていました : 6730