Infragistics(R) NetAdvantage(R) Windows Forms
LabelPosition Enumeration
Example  See Also  E-mail your feedback on this topic.
Infragistics.Win.UltraWinGrid Namespace : LabelPosition Enumeration

LabelPosition is used to specify if and where the column header will be shown.

Syntax

Visual Basic (Declaration) 
Public Enum LabelPosition 
   Inherits System.Enum
C# 
public enum LabelPosition : System.Enum 

Members

MemberDescription
Bottom Column label will be shown on the bottom of the cell.
Default Default value. In card-view, Default will resolve to Left while in regular view, Default will resolve to None.
LabelOnly Cells of the column won't be shown. Only the label will be shown.
Left Column label will be shown to the left of the cell.
None Column label will not be shown.
Right Column label will be shown to the right of the cell.
Top Column label will be shown on the top of the cell.

Example

Following code demonstrates some of the properties avaibale on RowLayoutColumnInfo object.

Visual BasicCopy Code
Imports Infragistics.Shared
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinGrid

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ' Create a data table with 3 columns.
        Dim dt As DataTable = New DataTable("Table1")
        dt.Columns.Add("Col1", GetType(String))
        dt.Columns.Add("Col2", GetType(String))
        dt.Columns.Add("Col3", GetType(String))

        ' Fill the data table with some random data.
        Dim random As Random = New Random()
        Dim i As Integer
        For i = 0 To 100 - 1
            dt.Rows.Add(New String() {"Test" & i + 1, "Test" & i + 2, "Test" & i + 3})
        Next

        ' Set the grid's data source to the data table.
        Me.UltraGrid1.DataSource = dt

        Dim band As UltraGridBand = Me.UltraGrid1.DisplayLayout.Bands("Table1")

        ' Get the columns of Table1 band in the UltraGrid.
        Dim gridColumns As ColumnsCollection = band.Columns

        ' Turn on the row layout functionality for Table1 band.
        band.UseRowLayout = True

        ' Set the RowLayoutLabelStyle to WithCellData so the column labels appear
        ' in the row-cell area with cells instead of a seperate area on the top.
        band.RowLayoutLabelStyle = RowLayoutLabelStyle.WithCellData

        ' Set the RowLayoutLabelPosition to Left so all the cell labels are left
        ' to the cells. LabelPosition can be set on individual columns as well
        ' like we do below to override this default for that column.
        band.RowLayoutLabelPosition = LabelPosition.Left

        ' Setup Col1 column.
        ' --------------------------------------
        gridColumns("Col1").RowLayoutColumnInfo.OriginX = 0
        gridColumns("Col1").RowLayoutColumnInfo.OriginY = 0
        ' Allocate 1 horizontal span for the label. Horizontal because the 
        ' RowLayoutLabelPosition is set to Left for the band.
        gridColumns("Col1").RowLayoutColumnInfo.LabelSpan = 1
        ' Now set the SpanX to 2. 1 for the Label and 1 for the cell itself.
        gridColumns("Col1").RowLayoutColumnInfo.SpanX = 2
        ' Set the SpanY to 1.
        gridColumns("Col1").RowLayoutColumnInfo.SpanY = 1

        ' Optionally set the minimum and preferred sizes for the cell labels and
        ' the cells associated with Col1.
        gridColumns("Col1").RowLayoutColumnInfo.MinimumCellSize = New Size(50, 20)
        gridColumns("Col1").RowLayoutColumnInfo.MinimumLabelSize = New Size(50, 20)
        gridColumns("Col1").RowLayoutColumnInfo.PreferredCellSize = New Size(100, 20)
        gridColumns("Col1").RowLayoutColumnInfo.PreferredLabelSize = New Size(80, 20)

        ' Allow the user to only resize the label and the cell horizontally and not
        ' vertically.
        gridColumns("Col2").RowLayoutColumnInfo.AllowLabelSizing = RowLayoutSizing.Horizontal
        gridColumns("Col2").RowLayoutColumnInfo.AllowCellSizing = RowLayoutSizing.Horizontal
        ' --------------------------------------

        ' --------------------------------------
        ' Setup Col2 column.
        ' OriginX of the Col2 is 2 because the Col1 occupies the first 2 logical
        ' columns.
        gridColumns("Col2").RowLayoutColumnInfo.OriginX = 2
        gridColumns("Col2").RowLayoutColumnInfo.OriginY = 0
        ' Allocate 1 horizontal span for the label. Horizontal because the 
        ' RowLayoutLabelPosition is set to Left for the band.
        gridColumns("Col2").RowLayoutColumnInfo.LabelSpan = 1
        ' Now set the SpanX to 2. 1 for the Label and 1 for the cell itself.
        gridColumns("Col2").RowLayoutColumnInfo.SpanX = 2
        ' Set the SpanY to 1.
        gridColumns("Col2").RowLayoutColumnInfo.SpanY = 1

        ' Optionally set the minimum and preferred sizes for the cell labels and
        ' the cells associated with Col2.
        gridColumns("Col2").RowLayoutColumnInfo.MinimumCellSize = New Size(50, 20)
        gridColumns("Col2").RowLayoutColumnInfo.MinimumLabelSize = New Size(50, 20)
        gridColumns("Col2").RowLayoutColumnInfo.PreferredCellSize = New Size(100, 20)
        gridColumns("Col2").RowLayoutColumnInfo.PreferredLabelSize = New Size(80, 20)

        ' Allow the user to only resize the label and the cell horizontally and not
        ' vertically.
        gridColumns("Col2").RowLayoutColumnInfo.AllowLabelSizing = RowLayoutSizing.Horizontal
        gridColumns("Col2").RowLayoutColumnInfo.AllowCellSizing = RowLayoutSizing.Horizontal
        ' --------------------------------------

        ' --------------------------------------
        ' Setup Col3 column.
        ' Set the OriginX to 0 and OriginY to 1. OriginY of Col1 and Col2 were
        ' set to 0 and their SpanY were 1. In order for Col3 to be below those
        ' columns, OriginY needs to be set to 1.
        gridColumns("Col3").RowLayoutColumnInfo.OriginX = 0
        gridColumns("Col3").RowLayoutColumnInfo.OriginY = 1
        ' For Col3 set the LabelPosition to Top so the cell label is above
        ' the cell.
        gridColumns("Col3").RowLayoutColumnInfo.LabelPosition = LabelPosition.Top
        ' Allocate 1 vertical span for the label. Vertical because the 
        ' RowLayoutLabelPosition is set to Top for the column. 
        gridColumns("Col3").RowLayoutColumnInfo.LabelSpan = 1
        ' Set the SpanX to Remainder so that it spans horizontally to occupy
        ' remaning space.
        gridColumns("Col3").RowLayoutColumnInfo.SpanX = RowLayoutColumnInfo.Remainder
        ' Set the SpanY to 2, 1 for the label and 1 for the cell. (LabelPosition
        ' is set to Top so the label is above the cell.
        gridColumns("Col3").RowLayoutColumnInfo.SpanY = 2

        ' Set the preferred cell height of the Col3 to 40 so it's twice as high as
        ' above cells.
        gridColumns("Col3").RowLayoutColumnInfo.PreferredCellSize = New Size(0, 40)
        ' --------------------------------------

        band.Override.RowSpacingAfter = 5
        band.Override.HeaderAppearance.BackColor = Color.LightBlue
    End Sub
C#Copy Code
using Infragistics.Shared;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;
using System.Diagnostics;

		private void Form1_Load(object sender, System.EventArgs e)
		{
			// Create a data table with 3 columns.
			DataTable dt = new DataTable( "Table1" );
			dt.Columns.Add( "Col1", typeof( string ) );
			dt.Columns.Add( "Col2", typeof( string ) );
			dt.Columns.Add( "Col3", typeof( string ) );

			// Fill the data table with some random data.
			Random random = new Random( );
			for ( int i = 0; i < 100; i++ )
				dt.Rows.Add( new string[] { "Test" + i + 1, "Test" + i + 2, "Test" + i + 3 } );

			// Set the grid's data source to the data table.
			this.ultraGrid1.DataSource = dt;

			UltraGridBand band = this.ultraGrid1.DisplayLayout.Bands["Table1"];

			// Get the columns of Table1 band in the UltraGrid.
			ColumnsCollection gridColumns = band.Columns;

			// Turn on the row layout functionality for Table1 band.
			band.UseRowLayout = true;

			// Set the RowLayoutLabelStyle to WithCellData so the column labels appear
			// in the row-cell area with cells instead of a seperate area on the top.
			band.RowLayoutLabelStyle = RowLayoutLabelStyle.WithCellData;

			// Set the RowLayoutLabelPosition to Left so all the cell labels are left
			// to the cells. LabelPosition can be set on individual columns as well
			// like we do below to override this default for that column.
			band.RowLayoutLabelPosition = LabelPosition.Left;

			// Setup Col1 column.
			// --------------------------------------
			gridColumns["Col1"].RowLayoutColumnInfo.OriginX = 0;
			gridColumns["Col1"].RowLayoutColumnInfo.OriginY = 0;
			// Allocate 1 horizontal span for the label. Horizontal because the 
			// RowLayoutLabelPosition is set to Left for the band.
			gridColumns["Col1"].RowLayoutColumnInfo.LabelSpan = 1;
			// Now set the SpanX to 2. 1 for the Label and 1 for the cell itself.
			gridColumns["Col1"].RowLayoutColumnInfo.SpanX	= 2; 
			// Set the SpanY to 1.
			gridColumns["Col1"].RowLayoutColumnInfo.SpanY	= 1;

			// Optionally set the minimum and preferred sizes for the cell labels and
			// the cells associated with Col1.
			gridColumns["Col1"].RowLayoutColumnInfo.MinimumCellSize = new Size( 50, 20 );
			gridColumns["Col1"].RowLayoutColumnInfo.MinimumLabelSize = new Size( 50, 20 );
			gridColumns["Col1"].RowLayoutColumnInfo.PreferredCellSize = new Size( 100, 20 );
			gridColumns["Col1"].RowLayoutColumnInfo.PreferredLabelSize = new Size( 80, 20);

			// Allow the user to only resize the label and the cell horizontally and not
			// vertically.
			gridColumns["Col2"].RowLayoutColumnInfo.AllowLabelSizing = RowLayoutSizing.Horizontal;
			gridColumns["Col2"].RowLayoutColumnInfo.AllowCellSizing = RowLayoutSizing.Horizontal;
			// --------------------------------------

			// --------------------------------------
			// Setup Col2 column.
			// OriginX of the Col2 is 2 because the Col1 occupies the first 2 logical
			// columns.
			gridColumns["Col2"].RowLayoutColumnInfo.OriginX = 2;
			gridColumns["Col2"].RowLayoutColumnInfo.OriginY = 0;
			// Allocate 1 horizontal span for the label. Horizontal because the 
			// RowLayoutLabelPosition is set to Left for the band.
			gridColumns["Col2"].RowLayoutColumnInfo.LabelSpan = 1;
			// Now set the SpanX to 2. 1 for the Label and 1 for the cell itself.
			gridColumns["Col2"].RowLayoutColumnInfo.SpanX	= 2; 
			// Set the SpanY to 1.
			gridColumns["Col2"].RowLayoutColumnInfo.SpanY	= 1;

			// Optionally set the minimum and preferred sizes for the cell labels and
			// the cells associated with Col2.
			gridColumns["Col2"].RowLayoutColumnInfo.MinimumCellSize = new Size( 50, 20 );
			gridColumns["Col2"].RowLayoutColumnInfo.MinimumLabelSize = new Size( 50, 20 );
			gridColumns["Col2"].RowLayoutColumnInfo.PreferredCellSize = new Size( 100, 20 );
			gridColumns["Col2"].RowLayoutColumnInfo.PreferredLabelSize = new Size( 80, 20);

			// Allow the user to only resize the label and the cell horizontally and not
			// vertically.
			gridColumns["Col2"].RowLayoutColumnInfo.AllowLabelSizing = RowLayoutSizing.Horizontal;
			gridColumns["Col2"].RowLayoutColumnInfo.AllowCellSizing = RowLayoutSizing.Horizontal;
			// --------------------------------------

			// --------------------------------------
			// Setup Col3 column.
			// Set the OriginX to 0 and OriginY to 1. OriginY of Col1 and Col2 were
			// set to 0 and their SpanY were 1. In order for Col3 to be below those
			// columns, OriginY needs to be set to 1.
			gridColumns["Col3"].RowLayoutColumnInfo.OriginX = 0;
			gridColumns["Col3"].RowLayoutColumnInfo.OriginY = 1;
			// For Col3 set the LabelPosition to Top so the cell label is above
			// the cell.
			gridColumns["Col3"].RowLayoutColumnInfo.LabelPosition = LabelPosition.Top;
			// Allocate 1 vertical span for the label. Vertical because the 
			// RowLayoutLabelPosition is set to Top for the column. 
			gridColumns["Col3"].RowLayoutColumnInfo.LabelSpan = 1;
			// Set the SpanX to Remainder so that it spans horizontally to occupy
			// remaning space.
			gridColumns["Col3"].RowLayoutColumnInfo.SpanX	= RowLayoutColumnInfo.Remainder; 
			// Set the SpanY to 2, 1 for the label and 1 for the cell. (LabelPosition
			// is set to Top so the label is above the cell.
			gridColumns["Col3"].RowLayoutColumnInfo.SpanY	= 2;

			// Set the preferred cell height of the Col3 to 40 so it's twice as high as
			// above cells.
			gridColumns["Col3"].RowLayoutColumnInfo.PreferredCellSize = new Size( 0, 40 );
			// --------------------------------------

			band.Override.RowSpacingAfter = 5;
			band.Override.HeaderAppearance.BackColor = Color.LightBlue;
		}

Remarks

See Also