You can enable user interface for fixing and unfixing rows using the FixedRowIndicator property.
Setting Fixed property of the row to true has the effect of adding the row to its parent row collection's FixedRows collection (RowsCollection.FixedRows. Likewise setting this property to false has the effect of removing it from the fixed rows collection. Note that setting this property to true does not necessarily fix the row. There are situations where fixed rows are not supported (in card-view, in child row collections, in horizontal view style). In those situations you can still add the row to the FixedRows collection however the row will not be actually fixed. It will however move the row to either top or bottom of the parent collection (depending on the UltraGridOverride.FixedRowStyle property settings).
Note that fixed rows are not supported in child row collections. Setting this property to true on a child row will not actually fix the row. It will however add the row to the associated row collection's FixedRows collection (RowsCollection.FixedRows) and apply any fixed row related appearances to it. It will also move the row in the beginning of the row collection. Also note that fixed rows are not supported in card-view.
Also note that when a fixed row is expanded any sibling fixed rows occuring after it will not be fixed. They will remain non-fixed until the expanded fixed row is collapsed. They will however remain in the FixedRows collection and keep their fixed row appearances.
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