UltraWinGrid の Selected プロパティは、グリッドで現在選択されている項目のいずれかを操作するときに使用します。このプロパティは、3つのコレクションサブオブジェクトを含むSelectedオブジェクトにアクセスします。これらのコレクションは行、列、およびセル用で、それぞれの型の選択オブジェクトが格納されます。グリッドでUltraGridRow、UltraGridColumn、UltraGridCellのいずれかのオブジェクトを選択すると、そのオブジェクトはSelectedオブジェクトの対応するコレクションに追加されます。オブジェクトの選択を解除すると、そのオブジェクトはコレクションから削除されます。
Selected プロパティを使用することで、特定の型の選択項目を反復処理したり、選択項目のプロパティを確認または変更したりできます。
次のサンプル コードは、選択されているすべての行の CustomerID フィールドと ContactName フィールドをクリップボードにテキストとしてコピーします。このコードは、選択行が含まれるテーブルに各フィールドが存在していて、行が UltraGridGroupByRows でないことを前提とします。
C#:
private void button1_Click(object sender, System.EventArgs e) { Infragistics.Win.UltraWinGrid.SelectedRowsCollection selectedRows; // Get the selected rows. // selectedRows = this.ultraGrid1.Selected.Rows; // If there are no selected rows, return // if ( selectedRows.Count < 1 ) return; System.Text.StringBuilder sb = new System.Text.StringBuilder( ); // Loop through all the selected rows // for ( int i = 0; i < selectedRows.Count; i++ ) { Infragistics.Win.UltraWinGrid.UltraGridRow row; row = selectedRows[i]; // Use Cells collection to get the values for // CustomerID and ContactName columns. // sb.Append( row.Cells[ "CustomerID" ].Text ); sb.Append( "," ); sb.Append( row.Cells["ContactName"].Text ); sb.Append( "\r\n" ); } // Copy the text to the clipboard. // System.Windows.Forms.Clipboard.SetDataObject( sb.ToString( ) ); }
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid Imports System.Diagnostics Private Sub UltraGrid1_AfterSelectChange(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.AfterSelectChangeEventArgs) Handles ultraGrid1.AfterSelectChange Debug.Write("AfterSelectChange: ") ' タイプを使用すると、行、列、またはセルが選択されたかどうかを確認します If e.Type Is GetType(UltraGridGroupByRow) Then ' 項目タイプはグループ行のため、その項目にアクセスするには Selected の Rows プロパティを使用します If Me.ultraGrid1.Selected.Rows.Count = 0 Then Debug.WriteLine("No group-by rows selected.") Else Debug.WriteLine(Me.ultraGrid1.Selected.Rows.Count & " group-by rows selected.") End If ElseIf e.Type Is GetType(UltraGridRow) Then ' 項目タイプは行のため、その項目にアクセスするには Selected の Rows プロパティを使用します If Me.ultraGrid1.Selected.Rows.Count = 0 Then Debug.WriteLine("No rows selected.") Else Debug.WriteLine(Me.ultraGrid1.Selected.Rows.Count & " rows selected.") End If ElseIf e.Type Is GetType(UltraGridColumn) Then ' 項目タイプは列のため、その項目にアクセスするには Selected の Columns プロパティを使用します If Me.ultraGrid1.Selected.Columns.Count = 0 Then Debug.WriteLine("Columns are being unselected.") Else Debug.WriteLine(Me.ultraGrid1.Selected.Columns.Count & " columns are being selected.") End If ElseIf e.Type Is GetType(UltraGridCell) Then ' 項目タイプはセルのため、その項目にアクセスするには Selected の Cells プロパティを使用します If Me.ultraGrid1.Selected.Cells.Count = 0 Then Debug.WriteLine("Columns are being unselected.") Else Debug.WriteLine(Me.ultraGrid1.Selected.Cells.Count & " cells are being selected.") End If End If End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; private void ultraGrid1_AfterSelectChange(object sender, Infragistics.Win.UltraWinGrid.AfterSelectChangeEventArgs e) { Debug.Write( "AfterSelectChange: " ); // タイプを使用すると、行、列、またはセルが選択されたかどうかを確認します if ( typeof ( UltraGridGroupByRow ) == e.Type ) { // 項目タイプはグループ行のため、その項目にアクセスするには Selected の Rows プロパティを使用します if ( this.ultraGrid1.Selected.Rows.Count == 0 ) Debug.WriteLine( "No group-by rows selected." ); else Debug.WriteLine( this.ultraGrid1.Selected.Rows.Count + " group-by rows selected." ); } else if ( typeof( UltraGridRow ) == e.Type ) { // 項目タイプは行のため、その項目にアクセスするには Selected の Rows プロパティを使用します if ( this.ultraGrid1.Selected.Rows.Count == 0 ) Debug.WriteLine( "No rows selected." ); else Debug.WriteLine( this.ultraGrid1.Selected.Rows.Count + " rows selected." ); } else if ( typeof( UltraGridColumn ) == e.Type ) { // 項目タイプは列のため、その項目にアクセスするには Selected の Columns プロパティを使用します if ( this.ultraGrid1.Selected.Columns.Count == 0 ) Debug.WriteLine( "Columns are being unselected." ); else Debug.WriteLine( this.ultraGrid1.Selected.Columns.Count + " columns are being selected." ); } else if ( typeof( UltraGridCell ) == e.Type ) { // 項目タイプはセルのため、その項目にアクセスするには Selected の Cells プロパティを使用します if ( this.ultraGrid1.Selected.Cells.Count == 0 ) Debug.WriteLine( "Columns are being unselected." ); else Debug.WriteLine( this.ultraGrid1.Selected.Cells.Count + " cells are being selected." ); } }