以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  单元格字符显示问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124488)

--  作者:douglas738888
--  发布时间:2018/9/7 10:48:00
--  单元格字符显示问题

请教老师,如果某个单元格的字符较多,超出固定列宽的显示,是否能实现用省略号代替进行省略显示,如果拖到列宽线能全部显示所有字符

 

例如:某单元格固定列宽是100

 

         项目名称                                                                                                            项目名称

        贵阳市金牛区建设路35-102延长线105地块万达碧湖三期综合体项目                    贵阳市金牛区建设......

[此贴子已经被作者于2018/9/7 10:48:28编辑过]

--  作者:有点蓝
--  发布时间:2018/9/7 11:14:00
--  
参考,只能做到大概,如果中英文混合,会不正确

drawcell事件

If e.Col.Name = "第一列" AndAlso e.Row.IsNull("第一列") = False
    Dim s As String = e.Row("第一列")
    Dim le As Integer = e.Width / 13
    If le < s.length Then
        e.Text = s.SubString(0,le-2) & "..."
    End If
End If

--  作者:有点甜
--  发布时间:2018/9/7 11:42:00
--  

看看

 

http://www.foxtable.com/webhelp/scr/2681.htm

 


--  作者:douglas738888
--  发布时间:2018/9/7 16:37:00
--  

谢谢老师的指导,有个问题,如果拖到列宽全部显示内容不报错,但是如果要通过双击单元格列宽线全部显示内容报错,错误在drawcell.


--  作者:有点蓝
--  发布时间:2018/9/7 16:55:00
--  
If e.Col.Name = "培训课程" AndAlso e.Row.IsNull("培训课程") = False
    If e.Width > 0 Then
        Dim s As String = e.Row("培训课程")
        Dim le As Integer = e.Width / 13
        If le < s.length Then
            e.Text = s.SubString(0,le-2) & "..."
        End If
    End If
End If