Imports Infragistics.Win.UltraWinListView Imports Infragistics.Win ... Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: このコードの行は 'NWindDataSet.Customers' テーブルにデータをロードします。 ' 必要に応じて、移動や削除ができます。 Me.CustomersTableAdapter.Fill(Me.NWindDataSet.Customers) ' コントロールの View プロパティを 'Tiles' に設定します。 Me.UltraListView1.View = UltraListViewStyle.Tiles ' SubItems(およびそれぞれの列)が列をサポートしている ' ビューにデフォルトで表示されるように、 ' また列名とサブアイテムの値がデフォルトでツールチップに '表示されないように、一部のプロパティを設定します。 Me.UltraListView1.ViewSettingsDetails.SubItemColumnsVisibleByDefault = True Me.UltraListView1.ViewSettingsTiles.SubItemsVisibleByDefault = True Me.UltraListView1.ItemSettings.SubItemsVisibleInToolTipByDefault = False ' 非表示になる列の名前を ' ArrayList に追加します。 Dim hiddenColumns As ArrayList = New ArrayList(4) hiddenColumns.Add("ContactName") hiddenColumns.Add("ContactTitle") hiddenColumns.Add("Phone") hiddenColumns.Add("Fax") ' テーブルの Columns コレクションを反復処理し、 ' メンバをテーブルの各フィールドごとに WinListView コントロールの ' SubItemColumns コレクションに追加します。 Dim dataColumn As DataColumn For Each dataColumn In Me.NWindDataSet.Tables("Customers").Columns ' 'CustomerID' フィールドの SubItemColumn は追加しません。 ' この値をアイテムの Tag に代入します。 If (dataColumn.ColumnName = "CustomerID") Then ElseIf (dataColumn.ColumnName = "CompanyName") Then ' 'CustomerName' フィールドの SubItemColumn は追加しません。 ' このフィールドは、コントロールの MainColumn によって表されます。 Dim mainColumn As UltraListViewMainColumn = Me.UltraListView1.MainColumn mainColumn.Text = "Company Name" mainColumn.DataType = dataColumn.DataType Else ' 他のすべてのフィールドでは、メンバを ' SubItemColumns コレクションに追加します。 Dim subItemColumn As UltraListViewSubItemColumn subItemColumn = Me.UltraListView1.SubItemColumns.Add(dataColumn.ColumnName) subItemColumn.DataType = dataColumn.DataType End If Next ' 非表示にされる列の適切なプロパティを ' Details ビューまたは Tiles ビューで表示されないように設定します。 ' これをツールチップに表示されるようにします。 Dim i As Integer For i = 0 To hiddenColumns.Count - 1 Dim hiddenColumn As String = hiddenColumns(i) Dim subItemColumn As UltraListViewSubItemColumn = Me.UltraListView1.SubItemColumns(hiddenColumn) subItemColumn.VisibleInDetailsView = DefaultableBoolean.False subItemColumn.VisibleInTilesView = DefaultableBoolean.False subItemColumn.VisibleInToolTip = DefaultableBoolean.True subItemColumn.VisiblePositionInToolTip = i Next ' テーブルの Rows コレクションを反復処理し、項目を ' テーブルの各行の WinListView コントロールの Items コレクションに ' 追加します。 For i = 0 To Me.NWindDataSet.Tables("Customers").Rows.Count - 1 Dim row As DataRow = Me.NWindDataSet.Tables("Customers").Rows(i) ' この行のフィールド値を個別に処理します。 Dim customerID As String = row("CustomerID") Dim companyName As String = row("CompanyName") Dim contactName As Object = row("ContactName") Dim contactTitle As Object = row("ContactTitle") Dim address As Object = row("Address") Dim city As Object = row("City") Dim region As Object = row("Region") Dim postalCode As Object = row("PostalCode") Dim country As Object = row("Country") Dim phone As Object = row("Phone") Dim fax As Object = row("Fax") ' 項目を WinListView コントロールの Items コレクションに追加します。このとき ' CustomerID フィールドの値を項目の Key として使用し、 ' CompanyName フィールドの値を項目の Value として使用します。 Dim item As UltraListViewItem = Me.UltraListView1.Items.Add(customerID, companyName) ' フィールド値を対応する UltraListViewSubItem の Value プロパティに ' 代入します。 item.SubItems("ContactName").Value = contactName item.SubItems("ContactTitle").Value = contactTitle item.SubItems("Address").Value = address item.SubItems("City").Value = city item.SubItems("Region").Value = region item.SubItems("PostalCode").Value = postalCode item.SubItems("Country").Value = country item.SubItems("Phone").Value = phone item.SubItems("Fax").Value = fax Next End Sub