【问题标题】:(DevExpress) Highlight a Row(DevExpress) 突出显示一行
【发布时间】:2016-11-06 05:19:00
【问题描述】:

我试图在我的 gridview 上突出显示一行。我尝试使用这种方法 RowStyle 但我认为这不适合我,因为我需要在 Gridview 上显示该列。假设我的 DataTable 上有 Id、FirstName 和 LastName 列,但我的网格上只显示了 FirstName 和 LastName。我想突出显示所有 ID 大于 50 的行。

【问题讨论】:

    标签: winforms devexpress


    【解决方案1】:

    使用 RowStyle 事件是完全正确的。只需从您的 DataSource 中获取值并检查 Id。这应该可以满足您的需求:

    private void grdvView_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
    {
      DataRowView row = grdvView.GetRow(e.RowHandle) as DataRowView;
    
      if (row != null &&
         !Convert.IsDBNull(row["ID"]) &&
          Convert.ToInt32(row["ID"]) > 50)
      {
         e.Appearance.BackColor = Color.BlueViolet;
      }
    }
    

    【讨论】:

    • 谢谢哥们。我做的替代方法是隐藏列:D
    • 欢迎您。始终确保 gridView 只是底层数据源的视图。所以如果你需要处理你的数据,你应该使用 DataSource。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 2017-01-17
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多