In GridGroupingControl, the styles can be applied only through two ways: 1) TableDescriptor,2) Handling QueryCellStyleInfo/PrepareViewStyleInfo event.

To set styles column-wise in grid, TableDescriptor can be used. Here is an example code for your reference.this.gridGroupingControl1.TableDescriptor.Columns["Mark"].Appearance.AnyRecordFieldCell.CellTipText = "Error";

How can I make sure that GGC's QueryCellStyleInfo method is invoked when I am not changing any GGC content. In the case above, I have other user controls outside of GGC and I want to validate GGC's cell content,change cell style and refresh GGC with updated style. 1) How can I refresh GGC to display modified style outside QueryCellStyleInfo?or 2)How can invoke GGC's QueryCellStyleInfo when I am not changing contents of GGC?

You can invoke the QueryCellStyleInfo event wherever you need. To achieve this you can use a flag variable to differentiate it from one action to another.Here I use two buttons which holds a different style ((i.e) tooltip) invokes the same QueryCellStyleInfo event in their click event.

Style Settings can be applied to different grid elements dynamically at run time. This can be achieved by proper handling of the QueryCellStyleInfo event. It provides the GridStyleInfo object for a cell on demand.

QueryCellStyleInfo is raised every time a request is made to access the style information for a cell. You can do any type of formatting cells with this event. It accepts GridTableCellStyleInfoEventArgs as one of its parameters which can be used to customize the cells of the grouping grid control.

Please refer the sample link which deals with the multiple usage of QueryCellStyleInfo event.