找回密码
 立即注册

QQ登录

只需一步,快速开始

bennyking
注册会员   /  发表于:2024-3-3 16:03  /   查看:607  /  回复:7
1金币

C1TrueDBGrid 的 FetchCellStyle设置样式后,选中单元格变色的行后,HighlightRow 对此单元格不生效,如何然他就不对FetchCellStyle生效呢

设置行选中样式
C1TrueDBGrid1.MarqueeStyle = C1.Win.C1TrueDBGrid.MarqueeEnum.HighlightRow




#Region " C1TrueDBGrid FetchCellStyle "
    Private Sub C1TrueDBGrid1_FetchCellStyle(sender As Object, e As C1.Win.C1TrueDBGrid.FetchCellStyleEventArgs) Handles C1TrueDBGrid1.FetchCellStyle
        Select Case e.Column.Name
            Case "设备领用"
                If C1TrueDBGrid1(e.Row, "设备领用单未归还").ToString() <> "" Then
                    e.CellStyle.BackColor = Color.LightYellow
                    e.CellStyle.ForeColor = Color.Black
                End If
        End Select
    End Sub
#End Region




图示中,红色的部分,鼠标没点击此行时候,就让他为黄色的样式,选中后能否就为蓝色,现在选中后,也是黄色的。感觉不那么美观。老师求教,谢谢。




附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

请参考下面的代码 通过grid.SelectedRows.IndexOf(e.Row)==-1来判断,该单元格是否是选中行(高亮),

7 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-3-3 16:03:17
来自 6#
请参考下面的代码
通过grid.SelectedRows.IndexOf(e.Row)==-1来判断,该单元格是否是选中行(高亮),




  1.         private void C1TrueDBGrid1_FetchCellStyle(object sender, FetchCellStyleEventArgs e)
  2.         {
  3.             var grid= (C1TrueDBGrid)sender;

  4.             if (e.Row == 0 && e.Col == 3 && grid.SelectedRows.IndexOf(e.Row)==-1)
  5.             {
  6.                 //var selrows = grid.SelectedRows.IndexOf(e.Row);
  7.                 e.CellStyle.BackColor = Color.Green;
  8.             }
  9.         }
复制代码

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-3-4 10:01:55
2#
看起来是优先级的问题。

你可以尝试在FetchCellStyle 事件中,也对行序号做一个判断,来判断该单元格是否为HighlightRow,然后再代码设置
回复 使用道具 举报
bennyking
注册会员   /  发表于:2024-3-4 10:13:41
3#
Richard.Ma 发表于 2024-3-4 10:01
看起来是优先级的问题。

你可以尝试在FetchCellStyle 事件中,也对行序号做一个判断,来判断该单元格是 ...

老师,我还真不知道如何判断 HighlightRow状态,您能否贴出这个事件的代码么,让我也参考下,谢谢
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-3-5 01:29:49
4#
明天验证后给你答复
回复 使用道具 举报
bennyking
注册会员   /  发表于:2024-3-5 09:21:34
5#
万分感谢,
回复 使用道具 举报
bennyking
注册会员   /  发表于:2024-3-5 16:09:01
7#
收到,谢谢,我试试看,感谢老师的解答
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-3-5 16:13:45
8#
不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部