バージョン

レベルを使用した複数行レイアウトの作成

WinGrid の 1 行に複数のレベルを含むことができます。

Note

注: ここでは少なくとも 1 行のデータを含むバインドされたグリッドがあるものとします。

複数行レイアウトの作成

  1. 複数レベルの行を使用するには、列をグループ に分割しなければいけません。グループを作ることから始めます。

データベースには個人の住所情報があると仮定します。フィールドには First Name、 Last Name、 Street Address、City、State、Zip、Phone Number、Fax Number があります。

この場合 Name、Address、Phone のように 3 つのグループに分けたいとします。

Visual Basic の場合:

Me.UltraGrid1.DisplayLayout.Bands(0).Groups.Add("Name")
Me.UltraGrid1.DisplayLayout.Bands(0).Groups.Add("Address")
Me.UltraGrid1.DisplayLayout.Bands(0).Groups.Add("Phone")

C# の場合:

this.ultraGrid1.DisplayLayout.Bands[0].Groups.Add("Name");
this.ultraGrid1.DisplayLayout.Bands[0].Groups.Add("Address");
this.ultraGrid1.DisplayLayout.Bands[0].Groups.Add("Phone");
  1. を特定のグループに割り当てることができます。

Visual Basic の場合:

Me.UltraGrid1.DisplayLayout.Bands(0).Columns("CompanyName").Group = _
  Me.UltraGrid1.DisplayLayout.Bands(0).Groups("Name")
Me.UltraGrid1.DisplayLayout.Bands(0).Columns("ContactName").Group = _
  Me.UltraGrid1.DisplayLayout.Bands(0).Groups("Name")
Me.UltraGrid1.DisplayLayout.Bands(0).Columns("ContactTitle").Group = _
  Me.UltraGrid1.DisplayLayout.Bands(0).Groups("Name")
Me.UltraGrid1.DisplayLayout.Bands(0).Columns("CustomerID").Group = _
  Me.UltraGrid1.DisplayLayout.Bands(0).Groups("Name")
Me.UltraGrid1.DisplayLayout.Bands(0).Columns("Address").Group = _
  Me.UltraGrid1.DisplayLayout.Bands(0).Groups("Address")
Me.UltraGrid1.DisplayLayout.Bands(0).Columns("Country").Group = _
  Me.UltraGrid1.DisplayLayout.Bands(0).Groups("Address")
Me.UltraGrid1.DisplayLayout.Bands(0).Columns("City").Group = _
  Me.UltraGrid1.DisplayLayout.Bands(0).Groups("Address")
Me.UltraGrid1.DisplayLayout.Bands(0).Columns("Region").Group = _
  Me.UltraGrid1.DisplayLayout.Bands(0).Groups("Address")
Me.UltraGrid1.DisplayLayout.Bands(0).Columns("PostalCode").Group = _
  Me.UltraGrid1.DisplayLayout.Bands(0).Groups("Address")
Me.UltraGrid1.DisplayLayout.Bands(0).Columns("Phone").Group = _
  Me.UltraGrid1.DisplayLayout.Bands(0).Groups("Phone")
Me.UltraGrid1.DisplayLayout.Bands(0).Columns("Fax").Group = _
  Me.UltraGrid1.DisplayLayout.Bands(0).Groups("Phone")

C# の場合:

this.ultraGrid1.DisplayLayout.Bands[0].Columns["CompanyName"].Group =
  this.ultraGrid1.DisplayLayout.Bands[0].Groups["Name"];
this.ultraGrid1.DisplayLayout.Bands[0].Columns["ContactName"].Group =
  this.ultraGrid1.DisplayLayout.Bands[0].Groups["Name"];
this.ultraGrid1.DisplayLayout.Bands[0].Columns["ContactTitle"].Group =
  this.ultraGrid1.DisplayLayout.Bands[0].Groups["Name"];
this.ultraGrid1.DisplayLayout.Bands[0].Columns["CustomerID"].Group =
  this.ultraGrid1.DisplayLayout.Bands[0].Groups["Name"];
this.ultraGrid1.DisplayLayout.Bands[0].Columns["Address"].Group =
  this.ultraGrid1.DisplayLayout.Bands[0].Groups["Address"];
this.ultraGrid1.DisplayLayout.Bands[0].Columns["Country"].Group =
  this.ultraGrid1.DisplayLayout.Bands[0].Groups["Address"];
this.ultraGrid1.DisplayLayout.Bands[0].Columns["City"].Group =
  this.ultraGrid1.DisplayLayout.Bands[0].Groups["Address"];
this.ultraGrid1.DisplayLayout.Bands[0].Columns["Region"].Group =
  this.ultraGrid1.DisplayLayout.Bands[0].Groups["Address"];
this.ultraGrid1.DisplayLayout.Bands[0].Columns["PostalCode"].Group =
  this.ultraGrid1.DisplayLayout.Bands[0].Groups["Address"];
this.ultraGrid1.DisplayLayout.Bands[0].Columns["Phone"].Group =
  this.ultraGrid1.DisplayLayout.Bands[0].Groups["Phone"];
this.ultraGrid1.DisplayLayout.Bands[0].Columns["Fax"].Group =
  this.ultraGrid1.DisplayLayout.Bands[0].Groups["Phone"];
  1. 新しいレベルを作成し、LevelCount プロパティを設定します。

Visual Basic の場合:

Me.UltraGrid1.DisplayLayout.Bands(0).LevelCount = 2

C# の場合:

this.ultraGrid1.DisplayLayout.Bands[0].LevelCount = 2;
  1. この時点ですべての列は Level 0 にあり、Level 1 は空です(レベルは 0 から始まります)。Level プロパティを設定して、いくつかの列を 2 番目の(より低い)レベルに移動します。

Visual Basic の場合:

Me.UltraGrid1.DisplayLayout.Bands(0).Columns("City").Level = 1
Me.UltraGrid1.DisplayLayout.Bands(0).Columns("Country").Level = 1
Me.UltraGrid1.DisplayLayout.Bands(0).Columns("PostalCode").Level = 1
Me.UltraGrid1.DisplayLayout.Bands(0).Columns("Fax").Level = 1

C# の場合:

this.ultraGrid1.DisplayLayout.Bands[0].Columns["City"].Level = 1;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["Country"].Level = 1;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["PostalCode"].Level = 1;
this.ultraGrid1.DisplayLayout.Bands[0].Columns["Fax"].Level = 1;
WinGrid Create a Multiple Row Layout Use Levels 01.png