バージョン

UltraGridColumnChooser クラス

このコントロールを使用すると、UltraGridに表示する列をユーザーが選択できます。ユーザーはUltraGridColumnChooserに表示された列のリストから列を非表示または非表示解除できます。
シンタックス
'宣言
 
Public Class UltraGridColumnChooser 
   Inherits System.Windows.Forms.Control
public class UltraGridColumnChooser : System.Windows.Forms.Control 
解説

UltraGridColumnChooser を使用すると、UltraGrid に表示する列をユーザーが選択できます。ユーザーはUltraGridColumnChooserに表示された列のリストから列を非表示または非表示解除できます。

ColumnChooserDialog はその中にこのコントロールを組み込みます。このコントロールを利用するには通常、ColumnChooserDialog を表示します。列チューザダイアログを表示するには、UltraGrid の UltraGridBase.ShowColumnChooser メソッドを使用します。また、このコントロールを独自のカスタム ダイアログの内部に埋め込むこともできます。

UltraGrid を UltraGridColumnChooser に関連付けるには、その SourceGrid プロパティを設定します。UltraGridColumnChooserは、そのグリッドの列を表示します。グリッドに複数の列がある場合は、CurrentBand プロパティを使用して、その列を表示する特定のバンドを指定できます。UltraGridColumnChooserは、複数のバンドの列を一度に表示することもできます。また、列を表示するバンドをユーザーが選択するためのユーザーインターフェイスも表示できます。これら2つの点を制御するには、MultipleBandSupport プロパティを使用します。

UltraGridColumnChooser は 2 つの使用モードがあります。Style プロパティによって、使用されるモードが選択されます。

HiddenColumnsOnly モードは、UltraGrid で現在非表示にされている列のみを表示します。このモードでは、ユーザーは UltraGrid と列チューザの間で列をドラッグすることによって列を非表示または非表示解除できます。

AllColumnsWithCheckBoxes モードは、非表示かどうかにかかわらず、すべての列を列チューザに表示します。各列の横にチェックボックスがあり、ユーザーはこれを使用して列を非表示または非表示解除できます。このモードも、HiddenColumnsOnly オプションと同じドラッグアンドドロップ機能を提供します。

AllColumnsAndChildBandsWithCheckBoxes モードは、ユーザーが子バンドを非表示または非表示解除できる点以外は AllColumnsWithCheckBoxes と同じように動作します。各子バンドの横には列と同じようにチェックボックスが表示され、ユーザーはこれを使用して子バンドを非表示または非表示解除できます。AllColumnsAndChildBandsWithCheckBoxes はデフォルトの列チューザスタイルです。

外観関連の側面を制御するには、DisplayLayout プロパティを使用します。たとえば、列選択の BackColor を UltraGridColumnChooser.DisplayLayout.Appearance.BackColor によって使用できます。デフォルトでは、列選択は外観をソースグリッドと同期します。SyncLookWithSourceGrid プロパティを False に設定することで、列チューザがこれを実行することを防止できます。こうすると、列チューザにソース グリッドと異なる外観を指定できます。

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


    Private Sub UltraGrid1_InitializeLayout(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles ultraGrid1.InitializeLayout
        ' UltraGrid has a built-in ui for displaying column chooser dialog. To enable
        ' the ui enable the row selectors and set the RowSelectorHeaderStyle to 
        ' ColumnChooserButton.
        e.Layout.Override.RowSelectors = DefaultableBoolean.True
        e.Layout.Override.RowSelectorHeaderStyle = RowSelectorHeaderStyle.ColumnChooserButton

        ' You can exclude a column from the column chooser by setting the ExcludeFromColumnChooser
        ' property to True. This will prevent the user from hiding or unhiding the column.
        e.Layout.Bands(0).Columns("CustomerID").ExcludeFromColumnChooser = ExcludeFromColumnChooser.True

        ' ExcludeFromColumnChooser is also exposed on the band object. So you can exlude a whole
        ' band from the column chooser.
        e.Layout.Bands(1).ExcludeFromColumnChooser = ExcludeFromColumnChooser.True

        ' ColumnChooserCaption property lets you display a different caption in the column
        ' chooser than in the UltraGrid.
        e.Layout.Bands(0).Columns(1).ColumnChooserCaption = "Column Chooser Caption"
    End Sub

    Private Sub UltraGrid1_BeforeColumnChooserDisplayed(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.BeforeColumnChooserDisplayedEventArgs) Handles ultraGrid1.BeforeColumnChooserDisplayed
        ' UltraGrid fires BeforeColumnChooserDisplayed event whenever it's about to
        ' display the column chooser dialog, either via the ColumnChooserButton or
        ' when the ShowColumnChooser method is called on the UltraGrid.

        ' You can access the column chooser dialog that will be displayed using the
        ' Dialog property. Here you can change location, size among other settings
        ' of the dialog.
        e.Dialog.Size = New Size(200, 300)

        ' By default UltraGrid retains the column chooser dialog instance. You can 
        ' set the DisposeOnClose to True to cause the UltraGrid to dispose the dialog 
        ' when it's closed by the user.
        e.Dialog.DisposeOnClose = DefaultableBoolean.True

        ' You can use the ColumnChooserControl property of the dialog to access the
        ' column chooser control that actually displays the list of the columns.
        e.Dialog.ColumnChooserControl.MultipleBandSupport = MultipleBandSupport.SingleBandOnly
        e.Dialog.ColumnChooserControl.Style = ColumnChooserStyle.AllColumnsWithCheckBoxes

        ' By default column chooser attempts to look similar to the source grid whose
        ' columns are being displayed in the column chooser. You can set the
        ' SyncLookWithSourceGrid to false to prevent column chooser from doing this
        ' This will also ensure that the column chooser won't override your appearance
        ' settings.
        e.Dialog.ColumnChooserControl.SyncLookWithSourceGrid = False
        e.Dialog.ColumnChooserControl.DisplayLayout.Appearance.BackColor = SystemColors.Window
    End Sub

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click
        ' You can display the column chooser dialog in code using one of the many
        ' overloads of ShowColumnChooser method.
        Me.ultraGrid1.ShowColumnChooser()
    End Sub
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;
using System.Diagnostics;


		private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
		{
			// UltraGrid has a built-in ui for displaying column chooser dialog. To enable
			// the ui enable the row selectors and set the RowSelectorHeaderStyle to 
			// ColumnChooserButton.
			e.Layout.Override.RowSelectors = DefaultableBoolean.True;
			e.Layout.Override.RowSelectorHeaderStyle = RowSelectorHeaderStyle.ColumnChooserButton;

			// You can exclude a column from the column chooser by setting the ExcludeFromColumnChooser
			// property to True. This will prevent the user from hiding or unhiding the column.
			e.Layout.Bands[0].Columns["CustomerID"].ExcludeFromColumnChooser = ExcludeFromColumnChooser.True;

			// ExcludeFromColumnChooser is also exposed on the band object. So you can exlude a whole
			// band from the column chooser.
			e.Layout.Bands[1].ExcludeFromColumnChooser = ExcludeFromColumnChooser.True;

			// ColumnChooserCaption property lets you display a different caption in the column
			// chooser than in the UltraGrid.
			e.Layout.Bands[0].Columns[1].ColumnChooserCaption = "Column Chooser Caption";
		}

		private void ultraGrid1_BeforeColumnChooserDisplayed(object sender, Infragistics.Win.UltraWinGrid.BeforeColumnChooserDisplayedEventArgs e)
		{
			// UltraGrid fires BeforeColumnChooserDisplayed event whenever it's about to
			// display the column chooser dialog, either via the ColumnChooserButton or
			// when the ShowColumnChooser method is called on the UltraGrid.

			// You can access the column chooser dialog that will be displayed using the
			// Dialog property. Here you can change location, size among other settings
			// of the dialog.
			e.Dialog.Size = new Size( 200, 3500 );

			// By default UltraGrid retains the column chooser dialog instance. You can 
			// set the DisposeOnClose to True to cause the UltraGrid to dispose the dialog 
			// when it's closed by the user.
			e.Dialog.DisposeOnClose = DefaultableBoolean.True;

			// You can use the ColumnChooserControl property of the dialog to access the
			// column chooser control that actually displays the list of the columns.
			e.Dialog.ColumnChooserControl.MultipleBandSupport = MultipleBandSupport.SingleBandOnly;
			e.Dialog.ColumnChooserControl.Style = ColumnChooserStyle.AllColumnsWithCheckBoxes;

			// By default column chooser attempts to look similar to the source grid whose
			// columns are being displayed in the column chooser. You can set the
			// SyncLookWithSourceGrid to false to prevent column chooser from doing this
			// This will also ensure that the column chooser won't override your appearance
			// settings.
			e.Dialog.ColumnChooserControl.SyncLookWithSourceGrid = false;
			e.Dialog.ColumnChooserControl.DisplayLayout.Appearance.BackColor = SystemColors.Window;			
		}

		private void button1_Click(object sender, System.EventArgs e)
		{
			// You can display the column chooser dialog in code using one of the many
			// overloads of ShowColumnChooser method.
			this.ultraGrid1.ShowColumnChooser( );
		}
参照