If you want to dynamically set the list in a dropdown in a manner where the dropdown can varies from row to row, then you will have to set the DataSource in QueryCellStyleInfo. To handle setting the initial value of the dropdown cell, you should probably set this every time the ''trigger value'' in the row changes (ie. set it everytime whatever the test value you are using to determine the dropdown changes). So, initially, when you load the data for the grid, you would make sure ths cellvalue for the combobox is properly set. Then, you could listen to the grid.TabelControlCurrentCellValiding event. There, if it is the trgigger cell being changed, you could try changing the combobox cellvalue accordingly.
private void gridGroupingControl1_TableControlCurrentCellValidating(object sender, GridTableControlCancelEventArgs e)
{
GridCurrentCell cc = e.TableControl.CurrentCell;
GridTableCellStyleInfo style = e.TableControl.GetTableViewStyleInfo(cc.RowIndex, cc.ColIndex);
if(style.TableCellIdentity.Column != null
&& style.TableCellIdentity.Column.Name == "triggerCol"
&& style.TableCellIdentity.TableCellType == GridTableCellType.AnyRecordFieldCell)
{
//new trigger value
string s = cc.Renderer.ControlText;
//get the record
GridRecord rec = style.TableCellIdentity.DisplayElement as GridRecord;
rec.SetValue("comboBoxCol", "someValueBasedOnTheValueOf_s_");
}
}