Yes, really - to have the ability to select cells in iGrid (even from code), you need to have the SelectionMode property set to a value different from 'None'. This is done by design - to have consistent look and behavior. For instance, you can't select several cells from code when SelectionMode is set to 'One' (the default setting). If you execute code like this:
foreach (iGRow ir in fGrid.Rows)
fGrid.Cells[ir.Index, 1].Selected = true;
, only the last cell in the 2nd column will be selected.
To solve your problem, your first code snippet should look like this:
fGrid.SelectionMode = iGSelectionMode.MultiExtended;
private void Chart_Select(object sender, iGCellClickEventArgs e)
{
...
foreach (iGRow ir in fGrid.Rows)
fGrid.Cells[ir.Index, e.ColIndex].Selected = true;
}
Then you should prevent the ability to change the current cell and selection by the user using the following two iGrid events this way:
private void fGrid_CurCellChangeRequest(object sender, iGCurCellChangeRequestEventArgs e)
{
e.DoDefault = false;
}
private void fGrid_SelectionStartChange(object sender, iGSelectionStartEndChangeEventArgs e)
{
e.DoDefault = false;
}