In This Topic
About Column Width
There are several ways in which the width of the column can determined, which is controlled by the NColumn.WidthMode property, that accepts values from the ENColumnWidthMode enumeration:
- Auto - The size is based on the contents of both the cells and the column header (the default)
- Fixed - The size is a fixed value defined by the FixedWidth property.
- SizeToCells - The size is based on the contents of the cells.
- SizeToHeader - The size is based on the contents of the column header.
- Percent - The size is a percent proportion of available space.
By default the column WidthMode is set to Auto. Additionally the user can perform the so called "Best Fit" operation, by double clicking on the space between two columns. The rest of this topic discusses the different width modes and the "Best Fit" operation in details.
Fixed Column Width
To fix the width of a certain column to a user specified value, you need to set the WidthMode property to Fixed and the FixedWidth property to the width that you desire for the column:
Fixed Column Width |
Copy Code
|
column.WidthMode = ENColumnWidthMode.Fixed;
column.FixedWidth = 100;
|
Automatic Column Width
When it comes to automatic column width, you have three WidthMode options to choose from - size the column to the header (SizeToHeader), size the column to the cells (SizeToCells) and size the column to both the cells and the header (Auto - the default). The following code example sizes the column to the header:
Size column to header |
Copy Code
|
column.WidthMode = ENColumnWidthMode.SizeToHeader;
|
It is important to note that when the size of the cells is taken into account, the grid measures only the cells that have been displayed (realized). Cells which have not been displayed are not taken into account. That is why the size of certain columns may auto grow while you scroll the grid.
Percentage Column Width
The size of columns can be expressed as a percentage of the available width by setting the WidthMode to Percent. The available width from which the percentage calculation takes place is the width of the grid, minus the size of all fixed and automatically resized columns. The following example creates three columns, the last one of which occupies the remaining width:
Percentage Column width |
Copy Code
|
// make a fixed column with size 150 dips
column1.WidthMode = ENColumnWidthMode.Fixed;
column1.FixedWidth = 150;
// make a percentage column, that occupies the entire available width
column2.WidthMode = ENColumnWidthMode.Percent;
column2.WidthPercent = 100;
|
Column Best Fit
The column "Best Fit" operation can be performed by the user when he double-clicks on the separator between columns. This operation calculates a column size that is large enough to incorporate the header and all displayed cells and sets this size as fixed column width. The "Best Fit" operation can also be performed via code like this:
Best Fit Example |
Copy Code
|
column.BestFit();
|