找回密码
 立即注册

QQ登录

只需一步,快速开始

百里叶扬

注册会员

8

主题

27

帖子

115

积分

注册会员

积分
115
百里叶扬
注册会员   /  发表于:2024-5-17 16:19  /   查看:2338  /  回复:8
1金币
在c1flexgrid中绘制的线条,拖动横向滚动条时,超出控件范围绘制的线条就会串位,请问该如何解决呢?




  1. Private Sub Fg_OwnerDrawCell(sender As Object, e As OwnerDrawCellEventArgs) Handles Fg.OwnerDrawCell

  2.         With Fg

  3.             e.Graphics.DrawLine(Pens.Red, .Cols(5).Left, .Rows(1).Top, .Cols(5).Left, .Rows(.Rows.Count - 1).Bottom)
  4.             e.Graphics.DrawLine(Pens.Red, .Cols(10).Left, .Rows(1).Top, .Cols(10).Left, .Rows(.Rows.Count - 1).Bottom)
  5.             e.Graphics.DrawLine(Pens.Red, .Cols(15).Left, .Rows(1).Top, .Cols(15).Left, .Rows(.Rows.Count - 1).Bottom)
  6.             e.Graphics.DrawLine(Pens.Red, .Cols(18).Left, .Rows(1).Top, .Cols(18).Left, .Rows(.Rows.Count - 1).Bottom)
  7.         
  8.         End With

  9.     End Sub
复制代码


最佳答案

查看完整内容

OwnerDrawCell本意上是为了渲染当前的单元格,在每个单元格需要渲染的时候都会触发。 e里面就是包含了要渲染的单元格的相关信息 相关位置也应该是通过e.Bounds来获取 按照你的代码,你是想去设置5,10······这些列的左边框,应该这样写

8 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-5-17 16:19:49
来自 7#
OwnerDrawCell本意上是为了渲染当前的单元格,在每个单元格需要渲染的时候都会触发。
e里面就是包含了要渲染的单元格的相关信息
相关位置也应该是通过e.Bounds来获取

按照你的代码,你是想去设置5,10······这些列的左边框,应该这样写

  1.             If e.Col = 5 Then
  2.                 e.Graphics.DrawLine(Pens.Red, e.Bounds.Left, e.Bounds.Top, e.Bounds.Left, e.Bounds.Bottom)
  3.             ElseIf e.Col = 10 Then
  4.                 e.Graphics.DrawLine(Pens.Red, e.Bounds.Left, e.Bounds.Top, e.Bounds.Left, e.Bounds.Bottom)
  5.             End If
复制代码
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-5-17 18:40:45
2#
麻烦提供一个复现问题的demo,我们来协助调查一下原因
回复 使用道具 举报
百里叶扬
注册会员   /  发表于:2024-5-18 08:44:16
3#

本帖子中包含更多资源

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

x
回复 使用道具 举报
百里叶扬
注册会员   /  发表于:2024-5-18 08:48:20
4#
两张图片,下边的是正常加载后的,上边的是移动横向滚动条后的样式
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-5-20 12:30:28
5#
收到,调查后会回回复结果
回复 使用道具 举报
百里叶扬
注册会员   /  发表于:2024-5-20 16:45:55
6#
Richard.Ma 发表于 2024-5-20 12:30
收到,调查后会回回复结果

好的,谢谢
回复 使用道具 举报
百里叶扬
注册会员   /  发表于:2024-5-21 14:13:01
8#
Richard.Ma 发表于 2024-5-21 10:15
OwnerDrawCell本意上是为了渲染当前的单元格,在每个单元格需要渲染的时候都会触发。
e里面就是包含了要渲 ...

太感谢了,问题解决了
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-5-21 18:23:50
9#
不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部