This parameter is often used to provide dynamic formatting based on cell contents. For example, if the cell contains a value outside a given range, the event handler may assign a new style to this parameter.
Although it is legal to modify the members of the CellStyle parameter in this event, this is not recommended, since the change will affect other cells that may be using this style.
// create style used to display low-stock items CellStyle cs = _flex.Styles.Add("Critical"); cs.BackColor = Color.Red; private void _flex_OwnerDrawCell(object sender, OwnerDrawCellEventArgs e) { // ignore fixed cells if (e.Row < _flex.Rows.Fixed || e.Col < _flex.Cols.Fixed) return; // apply custom style if reorder level is critical if (_flex.Cols[e.Col].Name == "UnitsInStock") { // change the style by applying the "Critical" style to the Style parameter // (do not change the e.Style.BackColor property directly since that would // affect other cells that use this style) if ((short)_flex[e.Row, "UnitsInStock"] < (short)_flex[e.Row, "ReorderLevel"]) e.Style = _flex.Styles["Critical"]; } }