【问题标题】:Devexpress GridControl row backcolorDevexpress GridControl 行背景色
【发布时间】:2013-08-06 12:54:33
【问题描述】:

我正在尝试更改索引行背景颜色,但它看起来很奇怪。基本上我正在做这样的事情,这在默认的.net datagridview 中是可能的。

int packageIndex = Packages.IndexOf(SomePackage);
gridPackages.Rows[packageIndex].BackColor = Color.Green;

在 devexpress GridControl 中做同样的事情似乎真的很烦人。没有这样的属性称为“行”。

gridPackages.gridView.SelectRow(packageIndex);
gridPackages.gridView.Appearance.SelectedRow.BackColor = Color.Green;

有点效果,但是当您更改行时,颜色会变为默认值。这意味着只有选定的行看起来是彩色的。我想动态更改颜色,而不是在加载时。

我知道我在问一个基本问题,但它不起作用。任何帮助将不胜感激..

【问题讨论】:

    标签: c# winforms devexpress


    【解决方案1】:

    尝试GridView_RowStyle事件来改变一行的背景颜色

    http://documentation.devexpress.com/#windowsforms/DevExpressXtraGridViewsGridGridView_RowStyletopic

    gridView1.RowStyle += gridView1_RowStyle;
    
    
    private void gridView1_RowStyle(object sender, 
    DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e) {
       GridView view = sender as GridView;
       if(e.RowHandle >= 0) {
          bool isRed = Convert.ToBoolean(view.GetRowCellDisplayText(e.RowHandle, view.Columns["Category"]));
          if(isRed) {
             e.Appearance.BackColor = Color.Red;
          }            
       }
    }
    

    【讨论】:

    • 我认为它不适用于动态到达像“Rows[0]”这样的行你怎么看?实际上,在我的情况下,您将如何解雇它?
    • 不是这样,你需要为所有网格找到一个条件,比如 if e.RowHandle == index then RED else TRANSPARENT
    • 您将如何触发该事件? gridView1_RowStyle(??,??)
    • 如果你订阅了,那么它会在绘制行之前触发
    • 你能手动触发吗,因为我必须手动触发
    【解决方案2】:

    所以我在朋友的帮助下想出了这样的方法,并且有效。再次触发事件时,只需刷新网格即可;

    gridPackages.gridView.RowCellStyle += gridView_RowCellStyle;
    
    private void gridView_RowCellStyle(object sender, RowCellStyleEventArgs e)
            {
                Package pac = Packages[e.RowHandle];
                if (PackagesInRoom.SingleOrDefault(t => t.PackageID == pac.PackageID) != null)
                {
                    e.Appearance.BackColor = Color.Green;
                }
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-31
      相关资源
      最近更新 更多