ComponentOne FlexGrid for WinForms
Cell Appearance
Using the C1FlexGrid Control > Formatting Cells > Cell Appearance

The appearance of the cells (alignment, font, colors, borders, and so on) is handled with CellStyle objects. The grid has a Styles property that holds the collection of styles used to format the grid. This collection has some built-in members that define the appearance of grid elements, such as fixed and scrollable cells, selection, focus cell, and so on. You can change these styles to modify the way the grid looks, and you can also create your own custom styles and assign them to cells, rows, or columns.

Changing the built-in styles is the simplest way to change the appearance of the grid. For example, the code below displays the selection as bold green characters over a red background:

To write code in Visual Basic

Visual Basic
Copy Code
Dim cs As CellStyle = _flex.Styles.Highlight
cs.Font = New Font(_flex.Font, FontStyle.Bold)
cs.ForeColor = Color.Green
cs.BackColor = Color.Red

To write code in C#

C#
Copy Code
CellStyle cs = _flex.Styles.Highlight;
cs.Font = new Font(_flex.Font, FontStyle.Bold);
cs.ForeColor = Color.Green;
cs.BackColor = Color.Red;

You can also create your own styles and assign them to cells, rows and columns. For example, the code below creates a custom cell style and assigns it to every fifth row:

To write code in Visual Basic

Visual Basic
Copy Code
Dim cs As CellStyle = _flex.Styles.Add("Fifth")
cs.BackColor = Color.Gray
Dim idex%
For idex = _flex.Rows.Fixed To _flex.Rows.Count - 1 Step 5
    _flex.Rows(idex).Style = cs
Next

To write code in C#

C#
Copy Code
CellStyle cs = _flex.Styles.Add("Fifth");
cs.BackColor = Color.Gray;
for (int index = _flex.Rows.Fixed ; index <= _flex.Rows.Count - 1; index += 5)
{
    _flex.Rows[index].Style = cs;
}

Here's an example that shows how you can create custom styles and assign them to columns, rows, and cell ranges:

To write code in Visual Basic

Visual Basic
Copy Code
' Create a new custom style
Dim s As CellStyle = _flex.Styles.Add("MyStyle")
s.BackColor = Color.Red
s.ForeColor = Color.White
 
' Assign the new style to a column.
_flex.Cols(3).Style = _flex.Styles("MyStyle")
 
' Assign the new style to a row.
_flex.Rows(3).Style = _flex.Styles("MyStyle")
 
' Assign the new style to a cell range.
Dim rg As CellRange = _flex.GetCellRange(4, 4, 6, 6)
rg.Style = _flex.Styles("MyStyle")

To write code in C#

C#
Copy Code
// Create a new custom style.
CellStyle s = _flex.Styles.Add("MyStyle");
s.BackColor = Color.Red;
s.ForeColor = Color.White;
 
// Assign the new style to a column.
_flex.Cols[3].Style = _flex.Styles["MyStyle"];
 
// Assign the new style to a row.
_flex.Rows[3].Style = _flex.Styles["MyStyle"];
 
// Assign the new style to a cell range.
CellRange rg = _flex.GetCellRange(4,4,6,6);
rg.Style = _flex.Styles["MyStyle"];

If you prefer, you can set up styles at design time using the C1FlexGrid Style Editor instead of writing code to do it. For details on customizing cell appearance with the C1FlexGrid Style Editor, see C1FlexGrid Style Editor.

See Also