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


  共有2554人关注过本帖平板打印复制链接

主题:单元格标色

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57590 威望: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()

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

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