Grid appearance. Specifies appearance for even and odd rows.

Namespace: Dapfor.Net.Ui
Assembly: Dapfor.Net (in Dapfor.Net.dll) Version: 2.10.3.24917 (2.10.3.24917)

Syntax

C#
[TypeConverterAttribute(typeof(ExpandableObjectConverter))]
public sealed class GridAppearance
Visual Basic
<TypeConverterAttribute(GetType(ExpandableObjectConverter))>
Public NotInheritable Class GridAppearance
Visual C++
[TypeConverterAttribute(typeof(ExpandableObjectConverter))]
public ref class GridAppearance sealed
F#
[<SealedAttribute>]
[<TypeConverterAttribute(typeof(ExpandableObjectConverter))>]
type GridAppearance =  class end

Remarks

.Net Grid applies different styles for even and odd rows, enabling the programmer to his own color styles and even gradient colors via via Grid.Appearance, via Header.Appearance and Column.Appearance property.

.Net Grid uses appearance inheritance. By default, colors and styles for all grids are taken from Dapfor.Net.Ui.Preferences class. However, these preferences can be overridden for every grid separately via Grid.Appearance property. Then, every Header and Column can override previously set appearance for every hierarchical level individually. And finally, you can also use Row.Appearance and Cell.Appearance properties to change individual appearance of rows and cells, but using of these properties may require allocation of a significant volume of memory.

 Copy imageCopy
public void CellAppearance(Grid grid)
{
    grid.Rows.Add(new Product());
    Row row = grid.Rows[0];

    //Set appearance for even and odd rows on all hierarchical levels
    grid.Appearance.EvenRows.BackColor = Color.Gray;
    grid.Appearance.OddRows.BackColor = Color.Black;

    //Set appearance for even and odd rows on the top hierarchical level
    grid.Headers[0].Appearance.EvenRows.BackColor = Color.Gray;
    grid.Headers[0].Appearance.OddRows.BackColor = Color.Black;

    //Set a back color for cell
    row["Price"].Appearance.BackColor = Color.Green;
}

If you are interested in maximum performance of the grid, you should subscribe for Grid.PaintCell event to change appearance instead of setting Row.Appearance and Cell.Appearance properties:

 Copy imageCopy
grid.PaintCell += delegate(object sender, PaintCellEventArgs e)
{
    //custom paint...
    e.Appearance.BackColor = Color.Red;
    e.Font = SystemFonts.MenuFont;
}

Inheritance Hierarchy

System..::..Object
  Dapfor.Net.Ui..::..Grid..::..GridAppearance

Thread Safety

The class is not thread safe.

See Also