UltraWinGrid - Obtener celda / columna actual para un grupo por fila

Estoy tratando de proporcionar un resumen rápido de las filas seleccionadas si la celda activa es de tipo double o int. Esto funciona bien si la cuadrícula no está agrupada por ninguna columna. Pero cuando la cuadrícula está agrupada por una o más columnas, no hay una celda activa cuando se seleccionan las filas de nivel superior.

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
}

Pero aUIElement.GetContext (typeof (UltraGridColumn)) siempre devuelve nulo cuando se seleccionan grupos por filas. ¿Cómo obtengo una columna / celda activa cuando se seleccionan grupos por filas?

preguntado el 16 de mayo de 11 a las 18:05

Gracias Rob. Traté de hacer la edición sin agregar mi texto de edición al final, pero decía que tenía que agregar 6 caracteres sin espacios para completar la edición. -

1 Respuestas

Si la columna de la GetContext es nulo, haz otro GetContext llamar para el tipo UltraGridGroupByRow. Si se devuelve una instancia, obtenga el Column propiedad de él y eso le dará la columna agrupada a la que se refiere esa fila.

contestado el 20 de mayo de 11 a las 18:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.