バージョン

UltraDropDown クラス

UltraDropDown コントロールは、UltraGrid コントロールの列でグリッドのような複数列のドロップダウン リストを提供します。
シンタックス
'宣言
 
Public Class UltraDropDown 
   Inherits UltraDropDownBase
   Implements Infragistics.Shared.Serialization.ICodeDomSerializable, Infragistics.Win.AppStyling.ISupportAppStyling, Infragistics.Win.CalcEngine.IUltraCalcParticipant, Infragistics.Win.IDropDownResizeHandleOwner, Infragistics.Win.IFilterableValueList, Infragistics.Win.IProvideContentsVersion, Infragistics.Win.IProvideItemImageSize, Infragistics.Win.ISelectionManager, Infragistics.Win.ISupportPresets, Infragistics.Win.IUIElementProvider, Infragistics.Win.IUIElementTextProvider, Infragistics.Win.IUltraControl, Infragistics.Win.IUltraControlElement, Infragistics.Win.IValidatorClient, Infragistics.Win.IValueList, Infragistics.Win.Touch.ISupportTouchMetrics, Infragistics.Win.UIAutomation.IProvideUIAutomation 
public class UltraDropDown : UltraDropDownBase, Infragistics.Shared.Serialization.ICodeDomSerializable, Infragistics.Win.AppStyling.ISupportAppStyling, Infragistics.Win.CalcEngine.IUltraCalcParticipant, Infragistics.Win.IDropDownResizeHandleOwner, Infragistics.Win.IFilterableValueList, Infragistics.Win.IProvideContentsVersion, Infragistics.Win.IProvideItemImageSize, Infragistics.Win.ISelectionManager, Infragistics.Win.ISupportPresets, Infragistics.Win.IUIElementProvider, Infragistics.Win.IUIElementTextProvider, Infragistics.Win.IUltraControl, Infragistics.Win.IUltraControlElement, Infragistics.Win.IValidatorClient, Infragistics.Win.IValueList, Infragistics.Win.Touch.ISupportTouchMetrics, Infragistics.Win.UIAutomation.IProvideUIAutomation  
解説

UltraDropDown をグリッドに接続するには、UltraGridColumnUltraGridColumn.ValueList プロパティ、または UltraGridCellUltraGridCell.ValueList プロパティを使用します。

UltraDropDown は UltraGrid と同じように、データソースにバインドすることによって値が格納されます。そのため、UltraGridBase.SetDataBinding メソッドを使用するか、UltraGridBase.DataSource プロパティと UltraGridBase.DataMember プロパティを使用します。

ドロップダウンのどの列をグリッド セルに関連付けるかを指定するため、必ず UltraDropDownBase.ValueMember プロパティを設定してください。

必要であれば、UltraDropDownBase.DisplayMember プロパティを設定し、値の代わりにユーザーにわかりやすいテキストを表示することもできます。

UltraDropDown コントロールが正しく機能するためには、Form や UserControl などのコンテナーが必要です。これにはデザインタイムにコントロールをフォーム (または UserControl) に配置するだけで十分ですが、コントロールをランタイムにコードで作成する場合は、UltraDropDown をフォーム (または UserControl) の Controls コレクションに追加してください。

使用例
Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinGrid

  Private Sub UltraDropDown1_InitializeLayout(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles ultraDropDown1.InitializeLayout

      ' ユーザーがスクロールつまみでドロップダウンをスクロールするときに 
      ' 行を直ちにスクロールするために、スクロール スタイルを immediate に設定します
      e.Layout.ScrollStyle = ScrollStyle.Immediate

      ' UltraDropDown で列を表示する順序を変更します
      e.Layout.Bands(0).Columns("ProductID").Header.VisiblePosition = 0
      e.Layout.Bands(0).Columns("ProductName").Header.VisiblePosition = 1

      ' 表示しない列は非表示にします
      e.Layout.Bands(0).Columns("UnitsOnOrder").Hidden = True

      ' ドロップダウンの項目を ProductName 列で並べ替えます
      e.Layout.Bands(0).SortedColumns.Clear()
      e.Layout.Bands(0).SortedColumns.Add("ProductName", False)

      ' ドロップダウンの境界線スタイルを設定します
      e.Layout.BorderStyle = UIElementBorderStyle.Solid

  End Sub
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;
using System.Diagnostics;

private void ultraDropDown1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
{

	// ユーザーがスクロールつまみでドロップダウンをスクロールするときに、 
	// 行を直ちにスクロールするために、スクロール スタイルを immediate に設定します
	e.Layout.ScrollStyle = ScrollStyle.Immediate;

	// UltraDropDown で列を表示する順序を変更します
	e.Layout.Bands[0].Columns["ProductID"].Header.VisiblePosition = 0;
	e.Layout.Bands[0].Columns["ProductName"].Header.VisiblePosition = 1;

	// 表示しない列を非表示にします
	e.Layout.Bands[0].Columns["UnitsOnOrder"].Hidden = true;

	// ドロップダウンの項目を ProductName 列によって並べ替えます
	e.Layout.Bands[0].SortedColumns.Clear( );
	e.Layout.Bands[0].SortedColumns.Add( "ProductName", false );

	// ドロップダウンの境界線スタイルを設定します
	e.Layout.BorderStyle = UIElementBorderStyle.Solid;	
		
}
参照