【问题标题】:Back Color Gridview rowstyle event does not work in devexpressBack Color Gridview rowstyle 事件在 devexpress 中不起作用
【发布时间】:2013-12-20 10:32:25
【问题描述】:

我有这样的代码:

Private Sub GV_Data_Kerja_RowStyle(sender As System.Object, e As DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs) Handles GV_Data_Kerja.RowStyle
    If row_mod = 1 Then
        Dim c As New Color
        c = Color.Yellow
        If e.Appearance.BackColor = c Then
            e.Appearance.BackColor = Nothing
            MessageBox.Show(e.Appearance.BackColor.ToString)
        Else
            e.Appearance.BackColor = c
            MessageBox.Show(e.Appearance.BackColor.ToString)
        End If
        MessageBox.Show(e.Appearance.BackColor.ToString)
        row_mod = 0
    End If
End Sub

它由Sub GV_Data_Kerja.RefreshRow(RowHandled) 触发,但不起作用。在放置在那里的每个消息框中,它总是返回白色。这意味着,我的改回颜色代码不起作用。谁能帮帮我?

【问题讨论】:

  • 我看到 e.Appearance.BorderColor 属性只被更改了。为什么您期望在这种情况下应该更改 e.Appearance.BackColor
  • 对不起,写那段代码是我的错。但是,它仍然没有任何效果。 MessageBox 说“黄色”背景颜色,但它的行没有显示任何黄色。

标签: vb.net gridview devexpress backcolor


【解决方案1】:

在我看来,您的代码有点工作。我试过了,它改变了颜色。但是当我删除 MessageBox 调试消息时它可以工作。

建议不要使用 MessageBox 显示数据,因为它会干扰您尝试调试的内容,而是写入日志文件或控制台输出。

看起来你把它们调试了,它们引起了各种各样的问题,你解决了原来的问题,但 MessageBox 问题仍然存在。

【讨论】:

    【解决方案2】:

    THIS 可能是您在 MSDN 中寻找的内容。 将 e.Appearance.BorderColor 更改为

    e.Appearance.BackColor.......
    

    【讨论】:

    • 我更改了我的问题源代码。对不起,我错了。 e.Appearance.BackColor 不起作用。
    【解决方案3】:

    试试这个代码:(使用 GridView CustomDrawCell 事件)

      Dim state As GridRowCellState
            state = DirectCast(e.Cell, GridCellInfo).State
            If (state And GridRowCellState.Selected) = GridRowCellState.Selected Then
                e.Appearance.BackColor = c
            End If
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-23
      • 2012-10-23
      • 1970-01-01
      • 2012-01-02
      相关资源
      最近更新 更多