You can limit the number of rows that can be fixed at a time in a row collection using the FixedRowsLimit property. Default value of FixedRowsLimit property is -1 which is resolved to 0. 0 specifies that there is no limit to the number of rows that can be fixed. When it’s set to a number greater than 0, the number of fixed rows is restricted to that number. Note that the limit applies to individual row collections. Importantly the a RowsCollection's FixedRowsCollection never contains more than this many rows. Adding more rows to it removes the earliest added rows, ensuring that it contains no more than the limit. Also if the FixedRowsLimit setting is changed, all the affected FixedRowsCollection instances adjust themselves to ensure they contain no more than the limit by removing the earliest added rows. The process of fixing rows via the user interface works sligltly differently. When the row collection has reached it’s fixed rows limit the user interface for fixing rows is disabled. The row selectors stop displaying the fixed row indicator buttons of the non-fixed rows and thus the user can not fix any more rows.
You can enable or disable user interface for fixing and unfixing rows by setting the FixedRowIndicator property.
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; }
Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2