Pergunta

I have a Devexpress Xtragrid, with in which I grouped rows based on a particular column. I have given Dark blue back color to the Group and set ShowGroupExpandCollpaseButton as false as well. In the left most part of each child rows in the grid is displaying the color I set to the Group back color. Is there any way to remove this color?

enter image description here

Foi útil?

Solução

To accomplish this task, please remove the BackColor from the GroupRow appearance. Then use the CustomDrawGroupRow event to highlight the group row content as you need:

    // 1) remove GroupRow style
    //gridView1.Appearance.GroupRow.BackColor = Color.Blue;

    gridView1.OptionsView.ShowGroupExpandCollapseButtons = false;

    // 2) use the CusomDrawGroupRow
    gridView1.CustomDrawGroupRow += gridView1_CustomDrawGroupRow;
}

void gridView1_CustomDrawGroupRow(object sender, RowObjectCustomDrawEventArgs e) {
    GridView gridView = sender as GridView;
    GridGroupRowInfo groupRowInfo = e.Info as GridGroupRowInfo;
    string groupRowText = gridView.GetGroupRowDisplayText(e.RowHandle);
    int textStart = groupRowInfo.DataBounds.Left + 4;
    Rectangle groupRowTextBounds = new Rectangle(
            textStart,
            groupRowInfo.Bounds.Top,
            groupRowInfo.Bounds.Right - textStart,
            groupRowInfo.Bounds.Height
        );
    e.Cache.FillRectangle(Brushes.Blue, e.Bounds); // draw blue backgrownd
    e.Appearance.DrawString(e.Cache, groupRowText, groupRowTextBounds);
    e.Handled = true;
}

Outras dicas

You should be able to hide the group from the view by setting as follows:

 this.gridView1.OptionsView.ShowGroupedColumns = false;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top