以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  缩小字体显示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=164102)

--  作者:15666282205
--  发布时间:2021/4/27 8:27:00
--  缩小字体显示
老师,表的列宽已设定好,但是有的内容字数较多,不能全部显示,怎样把字体变小一点,让内容显示完整,请您指导。
--  作者:有点蓝
--  发布时间:2021/4/27 8:48:00
--  
表格的字体只能整体设置,不能只设置单个单元格


--  作者:15666282205
--  发布时间:2021/4/27 10:53:00
--  
老师,我设计了一个按钮,以下代码运行可以
\'-------------------------自动行高-------------------------
            Tables("当月工时表").Cols("商品全名").Width= 250
            Tables("当月工时表").AutoSizeRows()
我把代码加入到目录树,想实现自动执行,可是没反应,请您指导,如何实现自动执行上述代码。
\'------------------------------------工时表加载树-------------------------------------------------------------------------------
Dim Filter As String = ""
If e.node.Name <> "显示所有行" Then \'要用Name属性,不能用Text属性
    Select Case e.Node.Level
        Case 0
            Filter = "[生产工段] = \'" & e.Node.DataRow("生产工段") & "\'"
            \'-------------------------自动行高-------------------------
            Tables("当月工时表").Cols("商品全名").Width= 250
            Tables("当月工时表").AutoSizeRows()
        Case 1
            Filter = "[生产工段] = \'" & e.Node.DataRow("生产工段") & "\'And 考勤班组 = \'" & e.Node.DataRow("考勤班组") & "\'"
            
            \'-------------------------自动行高-------------------------
            Tables("当月工时表").Cols("商品全名").Width= 250
            Tables("当月工时表").AutoSizeRows()
        Case 2
            Filter = "[生产工段] = \'" & e.Node.DataRow("生产工段") & "\'And 考勤班组 = \'" & e.Node.DataRow("考勤班组") & "\'and 考勤员 = \'" & e.Node.DataRow("考勤员") & "\'"
            \'-------------------------自动行高-------------------------
            Tables("当月工时表").Cols("商品全名").Width= 250
            Tables("当月工时表").AutoSizeRows()
        Case 3
            Filter = "[生产工段] = \'" & e.Node.DataRow("生产工段") & "\'And 考勤班组 = \'" & e.Node.DataRow("考勤班组") & "\'and 考勤员 = \'" & e.Node.DataRow("考勤员") & "\'and 操作人 = \'" & e.Node.DataRow("操作人") & "\'"
            \'-------------------------自动行高-------------------------
            Tables("当月工时表").Cols("商品全名").Width= 250
            Tables("当月工时表").AutoSizeRows()
            
    End Select
End If
DataTables("当月工时表").LoadFilter = Filter
DataTables("当月工时表").Load()

--  作者:有点蓝
--  发布时间:2021/4/27 11:06:00
--  
Dim Filter As String = ""
If e.node.Name <> "显示所有行" Then \'要用Name属性,不能用Text属性
    Select Case e.Node.Level
        Case 0
            Filter = "[生产工段] = \'" & e.Node.DataRow("生产工段") & "\'"
        Case 1
            Filter = "[生产工段] = \'" & e.Node.DataRow("生产工段") & "\'And 考勤班组 = \'" & e.Node.DataRow("考勤班组") & "\'"
        Case 2
            Filter = "[生产工段] = \'" & e.Node.DataRow("生产工段") & "\'And 考勤班组 = \'" & e.Node.DataRow("考勤班组") & "\'and 考勤员 = \'" & e.Node.DataRow("考勤员") & "\'"
        Case 3
            Filter = "[生产工段] = \'" & e.Node.DataRow("生产工段") & "\'And 考勤班组 = \'" & e.Node.DataRow("考勤班组") & "\'and 考勤员 = \'" & e.Node.DataRow("考勤员") & "\'and 操作人 = \'" & e.Node.DataRow("操作人") & "\'"
    End Select
End If
DataTables("当月工时表").LoadFilter = Filter
DataTables("当月工时表").Load()
            Tables("当月工时表").Cols("商品全名").Width= 250
            Tables("当月工时表").AutoSizeRows()

--  作者:15666282205
--  发布时间:2021/4/27 13:26:00
--  
老师,您改的可以。还有一个问题,本来想指定按“商品全名”,自动调整行高,现在的结果是按所有列调整。我改成以下代码,提示错误,请指导。
 Tables("当月工时表").AutoSizeRow(“商品全名”)
错误信息:
.NET Framework 版本:4.0.30319.1026
Foxtable 版本:2020.5.29.8
错误所在事件:窗口,考勤管理,TreeView2,NodeMouseClick
详细错误信息:
从字符串“商品全名”到类型“Integer”的转换无效。
输入字符串的格式不正确。


--  作者:有点蓝
--  发布时间:2021/4/27 13:36:00
--  
这个要手工计算了:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=160924
--  作者:15666282205
--  发布时间:2021/4/27 13:42:00
--  
这样做意义不大,失去了自动化的便捷。
--  作者:有点蓝
--  发布时间:2021/4/27 14:03:00
--  
通用功能仅支持整行处理,特殊用法就要自己动手了。