Here is the code.
case GridDirectionType.Left:
while (targetCol >= 1 && !enabled)
{
// skip invisible and covered cells
while (targetCol >= 1
&& (grid.GetColWidth(targetCol) == 0
|| gridModel.CoveredRanges.Find(targetRow, targetCol, out coveredRange)
&& coveredRange.Left != targetCol
)
)
targetCol--;
if (targetCol >= 1)
{
gridModel.CoveredRanges.Find(targetRow, targetCol, out coveredRange);
style = grid.GetViewStyleInfo(coveredRange.Top, coveredRange.Left);
enabled = style.Enabled || grid.IsDesignMode();
style.Dispose();
// not enabled, continue search
if (!enabled && targetCol >= 1)
targetCol--;
}
}
break;
So, it does rely on covered cells heavily. If you can attach a sample project, or submit a Direct Trac support incident with a sample, we can see if we can spot something here.