バージョン

ValueList の移植

ValueList  オブジェクトを使用して、WinGrid™ 列の値のドロップダウン リストを提供することができます。ValueList オブジェクトは、ルックアップ テーブルで関連する情報を含む外部キー フィールドを表す WinGrid 列で理想的です。ValueList オブジェクトは、WinCombo™ コントロールの軽量な代用です。ValueList オブジェクトを使用するには、ValueList オブジェクトに追加したいデータでループする必要があります。ループの各反復で、ValueListItem  オブジェクトの DataValue および DisplayText プロパティを設定し、ValueListItem オブジェクトを ValueListItems コレクションに追加します。

以下のコードは、説明と写真を ValueList オブジェクトに移植し、その ValueList を WinGrid 列に追加する方法を示します。

Visual Basic の場合:

Private Sub ProductsUltraGrid_InitializeLayout(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs)_
	 Handles ProductsUltraGrid.InitializeLayout
	Dim theValueList As New ValueList()
	Dim theImageConverter As New ImageConverter()
	Me.CategoriesTableAdapter1.Fill(Me.NorthwindDataSet.Categories)
	For Each theRow As PopulateValueListVB.NorthwindDataSet.CategoriesRow In Me.NorthwindDataSet.Categories
		If theRow.Picture IsNot Nothing AndAlso theRow.Picture.Length > 0 Then
		theValueList.ValueListItems.Add(theRow.CategoryID, theRow.CategoryName).Appearance.Image = _
			theImageConverter.ConvertFrom(theRow.Picture)
		End If
	Next
	e.Layout.Bands(0).Columns("CategoryID").ValueList = theValueList
End Sub

C# の場合:

private void productsUltraGrid_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
{
	ValueList theValueList = new ValueList();
	ImageConverter theImageConverter = new ImageConverter();
	this.categoriesTableAdapter1.Fill(this.northwindDataSet.Categories);
	foreach (PoplulateValueList.NorthwindDataSet.CategoriesRow theRow in this.northwindDataSet.Categories)
	{
		if (theRow.Picture != null && theRow.Picture.Length > 0)
		{
			theValueList.ValueListItems.Add(theRow.CategoryID, theRow.CategoryName).Appearance.Image =
				theImageConverter.ConvertFrom(theRow.Picture);
		}
	}
	e.Layout.Bands[0].Columns["CategoryID"].ValueList = theValueList;
}