Infragistics(R) NetAdvantage(R) Windows Forms
FixedRows Property
See Also  Example E-mail your feedback on this topic.
Infragistics.Win.UltraWinGrid Namespace > RowsCollection Class : FixedRows Property

A collection of fixed rows. Rows can be added or removed from this collection to fix/unfix rows.

Syntax

Visual Basic (Declaration) 
Public ReadOnly Property FixedRows As FixedRowsCollection
C# 
public FixedRowsCollection FixedRows {get;}

Example

The following code sets some of properties related to the Fixed Rows functionality.

Visual BasicCopy Code
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
C#Copy Code
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;
		}

Remarks

Adding a row to this collection will make the row fixed. You can also fix a row by setting its UltraGridRow.Fixed property. Note that presence of a row in the FixedRows collection does not necessarily make the row fixed. 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. Adding rows to the FixedRows collection of a child row collection will however move the added rows to the top or the bottom of the row collection. It will also apply the fixed row related appearances to the rows in this collection. 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.

See Also