FixedRowsLimit プロパティを使用して、同時に固定できる行コレクションの行数を制限できます。FixedRowsLimitプロパティのデフォルト値は-1で、これは0に解決されます。0は固定できる行数に制限がないことを示します。0より大きい数に設定すると、固定行の数がその数に制限されます。この制限は個々の行コレクションに適用されます。重要なのは、RowsCollectionのFixedRowsCollectionにはこの行数より多くの行は含まれないことです。この行数より多くの行を追加すると、一番最初に追加した行が削除され、これによって行コレクション内の行数が制限を超えないように維持されます。また、FixedRowsLimitの設定を変更すると、影響を受けるすべてのFixedRowsCollectionインスタンスが制限を超えないように自動的に調整されます (つまり、一番最初に追加した行が削除されます)。ユーザーインターフェイスを使用して行を固定するプロセスはこれとは少し異なります。行コレクションが固定行の上限に達すると、行を固定するためのユーザーインターフェイスが無効になります。行セレクターに非固定行の固定行インジケーター ボタンが表示されなくなるので、ユーザーはそれ以上行を固定できません。
行を固定および固定解除するためのユーザー インターフェイスを有効または無効にするには、FixedRowIndicator プロパティを設定します。
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 ' Set the fixed row style to Top. This indicates where the fixed rows ' are displayed. e.Layout.Override.FixedRowStyle = FixedRowStyle.Top ' Set the FixedRowIndicator to Button. This property can be set to None ' to prevent the user from fixing or unfixing rows via the user interface. e.Layout.Override.FixedRowIndicator = FixedRowIndicator.Button ' You can show or hide the fixed row indicator on an individual row using the ' AllowFixing property of the row. e.Layout.Rows(0).AllowFixing = DefaultableBoolean.False ' Specify how sorting affects the order of fixed rows. FixOrder keeps the ' fixed rows in the same order as they were fixed regardless of the sorting ' criteria. e.Layout.Override.FixedRowSortOrder = FixedRowSortOrder.FixOrder ' Appearance of the fixed row an be control using the FixedRowAppearance, ' FixedRowCellAppearance and FixedRowSelectorAppearance. e.Layout.Override.FixedRowAppearance.BackColor = Color.LightYellow e.Layout.Override.FixedRowCellAppearance.ForeColor = Color.Blue e.Layout.Override.FixedRowSelectorAppearance.BackColor = Color.Blue ' Display a separator between fixed rows and scrolling rows. ' SpecialRowSeparator property can be used to display separators between ' various 'special' rows, including between fixed and scrolling rows. This ' property is a flagged enum property so it can take multiple values. e.Layout.Override.SpecialRowSeparator = SpecialRowSeparator.FixedRows ' Appearance of the separator can be controlled using the ' SpecialRowSeparatorAppearance property. e.Layout.Override.SpecialRowSeparatorAppearance.BackColor = Color.FromArgb(218, 217, 241) ' Height of the separator can be controlled as well using the ' SpecialRowSeparatorHeight property. e.Layout.Override.SpecialRowSeparatorHeight = 6 ' Border style of the separator can be controlled using the ' BorderStyleSpecialRowSeparator property. e.Layout.Override.BorderStyleSpecialRowSeparator = UIElementBorderStyle.RaisedSoft ' FixedRowsLimit property can be used to specify a limit on how many rows ' can be fixed. Default is 0 which means there is no limit. e.Layout.Override.FixedRowsLimit = 4 ' Fix couple of rows. To fix a row simply add it to the FixedRows collection ' returned by the FixedRows property. e.Layout.Rows.FixedRows.Add(e.Layout.Rows(0)) e.Layout.Rows.FixedRows.Add(e.Layout.Rows(1)) ' Alternatively you can also fix rows by setting the Fixed property of the rows. ' This has the same affect as adding the row to its containing row collections ' FixedRows collection. e.Layout.Rows(2).Fixed = True ' You can also change the icons used in the fixed row indicators by setting ' the FixedRowOnImage and FixedRowOffImage. e.Layout.FixedRowOnImage = fixedImage e.Layout.FixedRowOffImage = unFixedImage 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) { // Set the fixed row style to Top. This indicates where the fixed rows // are displayed. e.Layout.Override.FixedRowStyle = FixedRowStyle.Top; // Set the FixedRowIndicator to Button. This property can be set to None // to prevent the user from fixing or unfixing rows via the user interface. // Setting this to None will hide the indicators in the row selectors. e.Layout.Override.FixedRowIndicator = FixedRowIndicator.Button; // You can show or hide the fixed row indicator on an individual row using the // AllowFixing property of the row. e.Layout.Rows[0].AllowFixing = DefaultableBoolean.False; // Specify how sorting affects the order of fixed rows. FixOrder keeps the // fixed rows in the same order as they were fixed regardless of the sorting // criteria. e.Layout.Override.FixedRowSortOrder = FixedRowSortOrder.FixOrder; // Appearance of the fixed row an be control using the FixedRowAppearance, // FixedRowCellAppearance and FixedRowSelectorAppearance. e.Layout.Override.FixedRowAppearance.BackColor = Color.LightYellow; e.Layout.Override.FixedRowCellAppearance.ForeColor = Color.Blue; e.Layout.Override.FixedRowSelectorAppearance.BackColor = Color.Blue; // Display a separator between fixed rows and scrolling rows. // SpecialRowSeparator property can be used to display separators between // various 'special' rows, including between fixed and scrolling rows. This // property is a flagged enum property so it can take multiple values. e.Layout.Override.SpecialRowSeparator = SpecialRowSeparator.FixedRows; // Appearance of the separator can be controlled using the // SpecialRowSeparatorAppearance property. e.Layout.Override.SpecialRowSeparatorAppearance.BackColor = Color.FromArgb( 218, 217, 241 ); // Height of the separator can be controlled as well using the // SpecialRowSeparatorHeight property. e.Layout.Override.SpecialRowSeparatorHeight = 6; // Border style of the separator can be controlled using the // BorderStyleSpecialRowSeparator property. e.Layout.Override.BorderStyleSpecialRowSeparator = UIElementBorderStyle.RaisedSoft; // FixedRowsLimit property can be used to specify a limit on how many rows // can be fixed. Default is 0 which means there is no limit. e.Layout.Override.FixedRowsLimit = 4; // Fix couple of rows. To fix a row simply add it to the FixedRows collection // returned by the FixedRows property. e.Layout.Rows.FixedRows.Add( e.Layout.Rows[0] ); e.Layout.Rows.FixedRows.Add( e.Layout.Rows[1] ); // Alternatively you can also fix rows by setting the Fixed property of the rows. // This has the same affect as adding the row to its containing row collections // FixedRows collection. e.Layout.Rows[2].Fixed = true; // You can also change the icons used in the fixed row indicators by setting // the FixedRowOnImage and FixedRowOffImage. e.Layout.FixedRowOnImage = fixedImage; e.Layout.FixedRowOffImage = unFixedImage; }