Я пытаюсь предоставить краткую сводку для выбранных строк, если активная ячейка имеет тип double или int.Это прекрасно работает, если сетка не сгруппирована ни по одному столбцу.Но когда сетка сгруппирована по одному или нескольким столбцам, при выборе строк верхнего уровня активная ячейка отсутствует.
void ultraGrid_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
var ultraGrid = ((UltraGrid)sender);
var selected = ultraGrid.Selected;
var hasCells = selected.Cells != null && selected.Cells.Count > 0;
var hasRows = selected.Rows != null && selected.Rows.Count > 0;
if ( !hasCells && !hasRows )
{
statusLabel.Text = string.Empty;
return;
}
UltraGridColumn activeColumn;
var activeCell = ultraGrid.ActiveCell;
if( activeCell == null )
{
var aUIElement = ultraGrid.DisplayLayout.UIElement.ElementFromPoint( ultraGrid.PointToClient(MousePosition));
activeColumn = (UltraGridColumn)aUIElement.GetContext(typeof(UltraGridColumn));
}
else activeColumn = activeCell.Column;
if( activeColumn == null || (activeColumn.DataType != typeof (double) && activeColumn.DataType != typeof (int) ) )
{
statusLabel.Text = string.Empty;
return;
}
//code to calculate summaries for selected rows or cells and active column
}
Но aUIElement.GetContext (typeof (UltraGridColumn)) всегда возвращает значение NULL при выборе группировки по строкам.Как получить активный столбец / ячейку, когда выбраны группы по строкам?