AD
Administrator
Syncfusion Team
July 4, 2007 07:32 PM UTC
I think you can handle 3 events to get this behavior.
gridGroupingControl1.TableControlPrepareViewStyleInfo += new GridTableControlPrepareViewStyleInfoEventHandler(gridGroupingControl1_TableControlPrepareViewStyleInfo);
gridGroupingControl1.TableControlCurrentCellChanging += new GridTableControlCancelEventHandler(gridGroupingControl1_TableControlCurrentCellChanging);
gridGroupingControl1.TableControlCurrentCellMoved += new GridTableControlCurrentCellMovedEventHandler(gridGroupingControl1_TableControlCurrentCellMoved);
private int editingRow = -2;
void gridGroupingControl1_TableControlCurrentCellChanging(object sender, GridTableControlCancelEventArgs e)
{
editingRow = e.TableControl.GetNestedCurrentCell().RowIndex;
e.TableControl.RefreshRange(GridRangeInfo.Row(editingRow));
}
void gridGroupingControl1_TableControlCurrentCellMoved(object sender, GridTableControlCurrentCellMovedEventArgs e)
{
if (editingRow != e.TableControl.GetNestedCurrentCell().RowIndex)
editingRow = -2;
}
void gridGroupingControl1_TableControlPrepareViewStyleInfo(object sender, GridTableControlPrepareViewStyleInfoEventArgs e)
{
if (e.Inner.RowIndex == editingRow)
{
e.Inner.Style.BackColor = Color.Red;
}
}
PS
Paul Sullivan
July 5, 2007 08:36 AM UTC
Great, that works, thanks. I must say I've worked with grids where this kind of everyday requirement is a lot more intuitive to code. The paucity of the Syncfusion documentation is causing me to regularly have to resort to this forum for solutions to seemingly simple problems.
>I think you can handle 3 events to get this behavior.
gridGroupingControl1.TableControlPrepareViewStyleInfo += new GridTableControlPrepareViewStyleInfoEventHandler(gridGroupingControl1_TableControlPrepareViewStyleInfo);
gridGroupingControl1.TableControlCurrentCellChanging += new GridTableControlCancelEventHandler(gridGroupingControl1_TableControlCurrentCellChanging);
gridGroupingControl1.TableControlCurrentCellMoved += new GridTableControlCurrentCellMovedEventHandler(gridGroupingControl1_TableControlCurrentCellMoved);
private int editingRow = -2;
void gridGroupingControl1_TableControlCurrentCellChanging(object sender, GridTableControlCancelEventArgs e)
{
editingRow = e.TableControl.GetNestedCurrentCell().RowIndex;
e.TableControl.RefreshRange(GridRangeInfo.Row(editingRow));
}
void gridGroupingControl1_TableControlCurrentCellMoved(object sender, GridTableControlCurrentCellMovedEventArgs e)
{
if (editingRow != e.TableControl.GetNestedCurrentCell().RowIndex)
editingRow = -2;
}
void gridGroupingControl1_TableControlPrepareViewStyleInfo(object sender, GridTableControlPrepareViewStyleInfoEventArgs e)
{
if (e.Inner.RowIndex == editingRow)
{
e.Inner.Style.BackColor = Color.Red;
}
}