Ich verwende das DevExpress-Grid, und es kann seinvom Benutzer gruppiert. Aus dem Bild unten möchte ich mit dem Ereignis GridViewControl_FocusedRowChanged wissen, wann eine Zeile Stadt ausgewählt ist. In dem Beispiel eine beliebige Zeile der Ebene 1.
Wenn der Benutzer die Gruppierung jedoch auf z. Stadt -> Land, dann möchte ich etwas tun, wenn die Zeile 0 ausgewählt ist.
Woher weiß ich, in welcher Ebenengruppierung sich die Stadt befindet?
private void GridViewControl_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
{
bool isCityInFocus = ??;
if (isCityInFocus)
//Do Something
}
Antworten:
1 für die Antwort № 1Versuchen GetRowLevel Methode:
private void GridViewControl_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
{
int level = gridView.GetRowLevel(e.FocusedRowHandle);
GridColumn column = gridView.GroupedColumns[level];
bool isCityInFocus = column == columnCity;
}