Foxtable(狐表)用户栏目专家坐堂 → 单元格标色


  共有2532人关注过本帖树形打印复制链接

主题:单元格标色

帅哥哟,离线,有人找我吗?
blackzhu
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
单元格标色  发帖心情 Post By:2019/5/11 10:15:00 [只看该作者]

下面这段代码是有点甜在论坛的例子:

 If e.Row.IsNull(e.Col.Name) = False Then
                            e.StartDraw()
                            Dim cval As String = e.Row(e.Col.Name)
                            e.text = ""
                            Dim g As Graphics = e.Graphics
                            Dim fnt = New Font("微软雅黑", e.Table.Font.Size)
                            Dim x As Integer = e.x + 1
                            Dim y As Integer = e.Y + 1
                            Dim idx As Integer = 0
                            Do While idx > -1
                                idx = -1
                                Dim val As String = ""
                                Dim v = "(未)"
                                Dim i = cval.IndexOf(v)
                                If i > -1 Then
                                    If idx = -1 Then
                                        idx = i
                                        val = v
                                    ElseIf i < idx Then
                                        idx = i
                                        val = v
                                    End If
                                End If
                                If idx > -1 Then
                                    Dim temp As String = cval.Substring(0, idx)
                                    g.DrawString(temp, e.Table.Font, Brushes.Blue, x, y)
                                    x += g.MeasureString(temp, e.Table.Font).Width - 3
                                    Output.Show(val)
                                    '  g.DrawString(val, fnt, Brushes.Red, x, y)
                                    ' x += g.MeasureString(val, fnt).Width - 1
                                    cval = cval.Substring(idx + val.Length)
                                End If
                            Loop
                            cval = cval.Replace("(已)", Nothing)
                            g.DrawString(cval, e.Table.Font, Brushes.Gray, x, y)
                            e.EndDraw()

原先的内容我已经用自动行高全部展示出来.但是这段代码是用画板将原先的内容画出来了的,因为内容超出了单元格的长度,所以画出来的内容跟相邻的单元格内容重叠. 我怎样修改这个代码可以做到跟原先的内容一样,在本单元格显示出来(也就是换行)

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/11 10:36:00 [只看该作者]

g.MeasureString就是用来计算要打印的字符的宽度的


自动行高后,根据列宽计算一下一列能够打印几个字符,然后拆分为多行打印

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/5/11 12:33:00 [只看该作者]

这个怎么找不到帮助的?

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/5/11 13:26:00 [只看该作者]

能否帮我改一个代码?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/11 13:46:00 [只看该作者]

上传具体实例测试

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/5/11 14:26:00 [只看该作者]

没有办法上传,这个是具体项目,项目非常大. 而且数据都是动态生成的.  我只想你按照这个代码帮我改改


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/11 14:57:00 [只看该作者]

新建项目做个类似的例子

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/5/11 16:15:00 [只看该作者]

单元格数据是  A(已),B(已),C(未)

我要的格式就是

A   已   需要灰色表示,并清除已标记
B   已  需要灰色表示,并清除已标记
C   未  需要蓝色表示,并清除未标记

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:判断字符和列宽.table





 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/5/11 16:16:00 [只看该作者]

最终结果

A 灰色字
B   灰色字
C  蓝色字

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/5/11 16:21:00 [只看该作者]

这个能说明问题,上面的例子数据有点规范的,看这个

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:判断字符和列宽.table





 回到顶部
总数 21 1 2 3 下一页