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

Indicates whether the user is allowed to resize cells in the row-layout mode.

Syntax

Visual Basic (Declaration) 
Public Property AllowRowLayoutCellSizing As RowLayoutSizing
C# 
public RowLayoutSizing AllowRowLayoutCellSizing {get; set;}

Example

Following sample code demonstrates the use of Row-Layout functionality in the UltraGrid.

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
        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))
        dt.Columns.Add("Col4", GetType(String))
        dt.Columns.Add("Col5", GetType(String))

        Dim random As Random = New Random()
        Dim i As Integer
        For i = 0 To 100 - 1
            Dim rowdata(4) As String
            Dim j As Integer
            For j = 0 To 5 - 1
                rowdata(j) = random.Next(1000).ToString()
            Next
            dt.Rows.Add(rowdata)
        Next

        Me.UltraGrid1.DataSource = dt

        ' Get the columns of Table1 band in the UltraGrid.
        Dim gridColumns As ColumnsCollection = Me.UltraGrid1.DisplayLayout.Bands("Table1").Columns

        ' Turn on the row layout functionality for Table1 band.
        Me.UltraGrid1.DisplayLayout.Bands("Table1").UseRowLayout = True

        ' Allow the user to only resize width of the columns/labels.
        Me.UltraGrid1.DisplayLayout.Bands("Table1").Override.AllowRowLayoutCellSizing = RowLayoutSizing.Horizontal
        Me.UltraGrid1.DisplayLayout.Bands("Table1").Override.AllowRowLayoutLabelSizing = RowLayoutSizing.Horizontal

        ' Setup Col1 column.
        gridColumns("Col1").RowLayoutColumnInfo.OriginX = 0
        gridColumns("Col1").RowLayoutColumnInfo.OriginY = 0
        gridColumns("Col1").RowLayoutColumnInfo.SpanX = 1
        gridColumns("Col1").RowLayoutColumnInfo.SpanY = 1
        ' Set the preferred cell size to 200,0 so that it's at least 200 pixel wide.
        ' Height of 0 means that the UltraGrid will calculate one based on the font.
        gridColumns("Col1").RowLayoutColumnInfo.PreferredCellSize = New Size(200, 0)
        ' Set the MinimumCellSize to 50,0 to prevent the user from resizing the column
        ' and making it smaller than 50 in width.
        gridColumns("Col1").RowLayoutColumnInfo.MinimumCellSize = New Size(50, 0)

        ' Setup Col2 column.
        gridColumns("Col2").RowLayoutColumnInfo.OriginX = 1
        gridColumns("Col2").RowLayoutColumnInfo.OriginY = 0
        gridColumns("Col2").RowLayoutColumnInfo.SpanX = 1
        gridColumns("Col2").RowLayoutColumnInfo.SpanY = 1

        ' Setup Col3 column.
        gridColumns("Col3").RowLayoutColumnInfo.OriginX = 0
        gridColumns("Col3").RowLayoutColumnInfo.OriginY = 1
        gridColumns("Col3").RowLayoutColumnInfo.SpanX = 1
        gridColumns("Col3").RowLayoutColumnInfo.SpanY = 1

        ' Setup Col4 column.
        gridColumns("Col4").RowLayoutColumnInfo.OriginX = 1
        gridColumns("Col4").RowLayoutColumnInfo.OriginY = 1
        gridColumns("Col4").RowLayoutColumnInfo.SpanX = 1
        gridColumns("Col4").RowLayoutColumnInfo.SpanY = 1
        ' Set the preferred cell size to 150,0 so that it's at least 150 pixel wide.
        ' Height of 0 means that the UltraGrid will calculate one based on the font.
        gridColumns("Col4").RowLayoutColumnInfo.PreferredCellSize = New Size(150, 0)
        ' Set the MinimumCellSize to 50,0 to prevent the user from resizing the column
        ' and making it smaller than 50 in width.
        gridColumns("Col4").RowLayoutColumnInfo.MinimumCellSize = New Size(60, 0)

        ' Setup Col5 column.
        gridColumns("Col5").RowLayoutColumnInfo.OriginX = 0
        gridColumns("Col5").RowLayoutColumnInfo.OriginY = 2
        ' Set the SpanX to Remainder so that it occupies the rest of the horizontal space.
        gridColumns("Col5").RowLayoutColumnInfo.SpanX = RowLayoutColumnInfo.Remainder
        gridColumns("Col5").RowLayoutColumnInfo.SpanY = 1
        ' Set the preferred cell size height to 40.
        gridColumns("Col5").RowLayoutColumnInfo.PreferredCellSize = New Size(0, 40)
        gridColumns("Col5").CellMultiLine = DefaultableBoolean.True
    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)
		{
			DataTable dt = new DataTable( "Table1" );
			dt.Columns.Add( "Col1", typeof( string ) );
			dt.Columns.Add( "Col2", typeof( string ) );
			dt.Columns.Add( "Col3", typeof( string ) );
			dt.Columns.Add( "Col4", typeof( string ) );
			dt.Columns.Add( "Col5", typeof( string ) );

			Random random = new Random( );
			for ( int i = 0; i < 100; i++ )
			{
				string[] rowData = new string[ 5 ];
				for ( int j = 0; j < 5; j++ )
					rowData[j] = random.Next( 1000 ).ToString( );
				
				dt.Rows.Add( rowData );
			}

			this.ultraGrid1.DataSource = dt;

			// Get the columns of Table1 band in the UltraGrid.
			ColumnsCollection gridColumns = this.ultraGrid1.DisplayLayout.Bands["Table1"].Columns;

			// Turn on the row layout functionality for Table1 band.
			this.ultraGrid1.DisplayLayout.Bands["Table1"].UseRowLayout = true;

			// Allow the user to only resize width of the columns/labels.
			this.ultraGrid1.DisplayLayout.Bands["Table1"].Override.AllowRowLayoutCellSizing  = RowLayoutSizing.Horizontal;
			this.ultraGrid1.DisplayLayout.Bands["Table1"].Override.AllowRowLayoutLabelSizing = RowLayoutSizing.Horizontal;

			// Setup Col1 column.
			gridColumns["Col1"].RowLayoutColumnInfo.OriginX = 0;
			gridColumns["Col1"].RowLayoutColumnInfo.OriginY = 0;
			gridColumns["Col1"].RowLayoutColumnInfo.SpanX   = 1;
			gridColumns["Col1"].RowLayoutColumnInfo.SpanY   = 1;
			// Set the preferred cell size to 200,0 so that it's at least 200 pixel wide.
			// Height of 0 means that the UltraGrid will calculate one based on the font.
			gridColumns["Col1"].RowLayoutColumnInfo.PreferredCellSize = new Size( 200, 0 );
			// Set the MinimumCellSize to 50,0 to prevent the user from resizing the column
			// and making it smaller than 50 in width.
			gridColumns["Col1"].RowLayoutColumnInfo.MinimumCellSize = new Size( 50, 0 );

			// Setup Col2 column.
			gridColumns["Col2"].RowLayoutColumnInfo.OriginX = 1;
			gridColumns["Col2"].RowLayoutColumnInfo.OriginY = 0;
			gridColumns["Col2"].RowLayoutColumnInfo.SpanX   = 1;
			gridColumns["Col2"].RowLayoutColumnInfo.SpanY   = 1;
		
			// Setup Col3 column.
			gridColumns["Col3"].RowLayoutColumnInfo.OriginX = 0;
			gridColumns["Col3"].RowLayoutColumnInfo.OriginY = 1;
			gridColumns["Col3"].RowLayoutColumnInfo.SpanX   = 1;
			gridColumns["Col3"].RowLayoutColumnInfo.SpanY   = 1;
		
			// Setup Col4 column.
			gridColumns["Col4"].RowLayoutColumnInfo.OriginX = 1;
			gridColumns["Col4"].RowLayoutColumnInfo.OriginY = 1;
			gridColumns["Col4"].RowLayoutColumnInfo.SpanX   = 1;
			gridColumns["Col4"].RowLayoutColumnInfo.SpanY   = 1;
			// Set the preferred cell size to 150,0 so that it's at least 150 pixel wide.
			// Height of 0 means that the UltraGrid will calculate one based on the font.
			gridColumns["Col4"].RowLayoutColumnInfo.PreferredCellSize = new Size( 150, 0 );
			// Set the MinimumCellSize to 50,0 to prevent the user from resizing the column
			// and making it smaller than 50 in width.
			gridColumns["Col4"].RowLayoutColumnInfo.MinimumCellSize = new Size( 60, 0 );
		
			// Setup Col5 column.
			gridColumns["Col5"].RowLayoutColumnInfo.OriginX = 0;
			gridColumns["Col5"].RowLayoutColumnInfo.OriginY = 2;
			// Set the SpanX to Remainder so that it occupies the rest of the horizontal space.
			gridColumns["Col5"].RowLayoutColumnInfo.SpanX   = RowLayoutColumnInfo.Remainder;
			gridColumns["Col5"].RowLayoutColumnInfo.SpanY   = 1;
			// Set the preferred cell size height to 40.
			gridColumns["Col5"].RowLayoutColumnInfo.PreferredCellSize = new Size( 0, 40);
			gridColumns["Col5"].CellMultiLine = DefaultableBoolean.True;
		}

Remarks

You can set RowLayoutColumnInfo.AllowCellSizing and RowLayoutColumnInfo.AllowLabelSizing for individual coumns to control per column resizing behavior.

See Also