2013-04-27 199 views
0

我有一個Devexpress Xtragrid,其中我根據特定的列對行進行分組。我給組添加了深藍色背景顏色,並將ShowGroupExpandCollpaseButton也設置爲false。在網格中每個子行的最左側顯示我設置爲組背面顏色的顏色。有沒有什麼辦法去除這種顏色。請指導我。行背景顏色行組問題

enter image description here

+1

這是集團列對? – Bit 2013-04-27 10:49:30

+0

是的,是否有任何限制來隱藏它? – 17CrazyBrain 2013-04-28 05:34:33

回答

1

爲了完成這個任務,請從GroupRow外觀刪除BackColor。 然後使用CustomDrawGroupRow事件凸顯組一行內容,因爲你需要:

// 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; 
} 
+0

謝謝你的解決方案。這是工作。現在,如果我們分組,網格在每個子行的開始處留下一些額外的空間。有什麼辦法可以消除這個?你能提出一些解決方案嗎? – 17CrazyBrain 2013-04-29 05:03:47

+0

@ 17CrazyBrain指定[級別縮進](http://documentation.devexpress.com/#WindowsForms/DevExpressXtraGridViewsGridGridView_LevelIndenttopic)如下:'gridView1.LevelIndent = 0;' – DmitryG 2013-04-29 06:55:05

+0

這是完美的。多謝... – 17CrazyBrain 2013-04-30 10:59:19

0

您應該能夠通過設置來隱藏視圖中的組,如下所示:

this.gridView1.OptionsView.ShowGroupedColumns = false; 
+0

謝謝你的解決方案。但是,這樣它就無法工作。 – 17CrazyBrain 2013-04-29 04:58:06