MESCIUS InputMan for WPF 3.0J
ListItem オブジェクトの追加による項目の設定

このトピックでは、マルチカラムのリストボックスを表示するコンボコントロールに、ListItem オブジェクトをコレクションに追加することで項目を設定する方法を解説します。

概要

マルチカラムのリストボックスを表示するコンボコントロールに項目を設定する場合、カラムを追加する必要があります。ListItem オブジェクトをコレクションに追加する場合に使用するカラムは ListSubItemColumn です。

次に Items プロパティから取得できる項目コレクションに ListItem オブジェクトを追加することで項目を設定します。

サブ項目を追加するには、各 ListItem オブジェクトの SubItems プロパティが参照する SubItemCollection に追加されたカラム数に応じて、SubItem オブジェクトを追加します。

ListItem オブジェクトをコレクションに追加する場合には、AutoGenerateColumns プロパティを True に設定してもカラムは自動生成されません。

項目の設定

Visual Studio のデザインページ上でカラムを設定するにはプロパティウィンドウの Columns プロパティを参照し、ダイアログの表示ボタンをクリックして表示されるコレクションエディターを使用してカラムコレクションに ListSubItemColumn を追加します。

項目を設定するにはプロパティウィンドウの Items プロパティを参照し、ダイアログの表示ボタンをクリックして表示されるコレクションエディターを使用して項目コレクションに項目を追加します。サブ項目を設定するには、Items コレクションエディターのプロパティウィンドウから SubItems プロパティを参照し、ダイアログの表示ボタンをクリックして表示されるコレクションエディターを使用してサブ項目コレクションにサブ項目を追加します。

次のサンプルコードは、3列のデータを持つ項目をコントロールに追加します。

Imports GrapeCity.Windows.InputMan

' サブ項目用のカラムを作成します。
Dim column1 As New ListSubItemColumn()
column1.Header = "所在地"
Dim column2 As New ListSubItemColumn()
column2.Header = "電話番号"
Dim column3 As New ListSubItemColumn()
column3.Header = "FAX番号"

' カラムをコントロールに追加します。
GcComboBox1.Columns.Add(column1)
GcComboBox1.Columns.Add(column2)
GcComboBox1.Columns.Add(column3)

' 1つめの項目を作成、追加します。
Dim item1 As New ListItem()
item1.SubItems.Add(New SubItem("仙台本社"))
item1.SubItems.Add(New SubItem("022-777-8210"))
item1.SubItems.Add(New SubItem("022-777-8231"))
GcComboBox1.Items.Add(item1)

' 2つめの項目を作成、追加します。
Dim item2 As New ListItem()
item2.SubItems.Add(New SubItem("関東支社"))
item2.SubItems.Add(New SubItem("048-222-1200"))
item2.SubItems.Add(New SubItem("048-222-1211"))
GcComboBox1.Items.Add(item2)

' 3つめの項目を作成、追加します。
Dim item3 As New ListItem()
item3.SubItems.Add(New SubItem("大阪支店"))
item3.SubItems.Add(New SubItem("06-6222-2560"))
item3.SubItems.Add(New SubItem("06-6222-2570"))
GcComboBox1.Items.Add(item3)

' 4つめの項目を作成、追加します。
Dim item4 As New ListItem()
item4.SubItems.Add(New SubItem("名古屋営業所"))
item4.SubItems.Add(New SubItem("052-586-6930"))
item4.SubItems.Add(New SubItem("052-551-0892"))
GcComboBox1.Items.Add(item4)
using GrapeCity.Windows.InputMan;

// サブ項目用のカラムを作成します。
ListSubItemColumn column1 = new ListSubItemColumn();
column1.Header = "所在地";
ListSubItemColumn column2 = new ListSubItemColumn();
column2.Header = "電話番号";
ListSubItemColumn column3 = new ListSubItemColumn();
column3.Header = "FAX番号";

// カラムをコントロールに追加します。
GcComboBox1.Columns.Add(column1);
GcComboBox1.Columns.Add(column2);
GcComboBox1.Columns.Add(column3);

// 1つめの項目を作成、追加します。
ListItem item1 = new ListItem();
item1.SubItems.Add(new SubItem("仙台本社"));
item1.SubItems.Add(new SubItem("022-777-8210"));
item1.SubItems.Add(new SubItem("022-777-8231"));
GcComboBox1.Items.Add(item1);

// 2つめの項目を作成、追加します。
ListItem item2 = new ListItem();
item2.SubItems.Add(new SubItem("関東支社"));
item2.SubItems.Add(new SubItem("048-222-1200"));
item2.SubItems.Add(new SubItem("048-222-1211"));
GcComboBox1.Items.Add(item2);

// 3つめの項目を作成、追加します。
ListItem item3 = new ListItem();
item3.SubItems.Add(new SubItem("大阪支店"));
item3.SubItems.Add(new SubItem("06-6222-2560"));
item3.SubItems.Add(new SubItem("06-6222-2570"));
GcComboBox1.Items.Add(item3);

// 4つめの項目を作成、追加します。
ListItem item4 = new ListItem();
item4.SubItems.Add(new SubItem("名古屋営業所"));
item4.SubItems.Add(new SubItem("052-586-6930"));
item4.SubItems.Add(new SubItem("052-551-0892"));
GcComboBox1.Items.Add(item4);
<im:GcComboBox>
  <im:GcComboBox.Columns>
    <im:ListSubItemColumn Header="所在地" />
    <im:ListSubItemColumn Header="電話番号" />
    <im:ListSubItemColumn Header="FAX番号" />
  </im:GcComboBox.Columns>
  <im:ListItem>
    <im:SubItem Content="仙台本社" />
    <im:SubItem Content="022-777-8210" />
    <im:SubItem Content="022-777-8231" />
  </im:ListItem>
  <im:ListItem>
    <im:SubItem Content="関東支社" />
    <im:SubItem Content="048-222-1200" />
    <im:SubItem Content="048-222-1211" />
  </im:ListItem>
  <im:ListItem>
    <im:SubItem Content="大阪支店" />
    <im:SubItem Content="06-6222-2560" />
    <im:SubItem Content="06-6222-2570" />
  </im:ListItem>
  <im:ListItem>
    <im:SubItem Content="名古屋営業所" />
    <im:SubItem Content="052-586-6930" />
    <im:SubItem Content="052-551-0892" />
  </im:ListItem>
</im:GcComboBox>

上記サンプルコードの実行結果
(図):上記サンプルコードの実行結果

関連トピック

 

 


© MESCIUS inc. All rights reserved.