以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何让动态表的合计自动居中  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161090)

--  作者:采菊东篱下
--  发布时间:2021/3/5 12:19:00
--  如何让动态表的合计自动居中

图片点击可在新窗口打开查看此主题相关图片如下:1111.png
图片点击可在新窗口打开查看

这表是动态生成的
\'窗口表头设置.表中自动生成合计
Tables("月租收费_Table1").SetHeaderRowHeight(0,25,40)
Tables("月租收费_Table1").AddNew(10)
With Tables("月租收费_Table1")
    .Cols("缴费_月租_缴费月数").GrandTotal = True
    .Cols("缴费_月租_缴费金额").GrandTotal = True
    .GrandTotal = True
End With

\'打开目录树.下拉选项\'
e.Form.Controls("Table1").Table.Cols("车牌号码").DropForm = "车牌目录树"
e.Form.Controls("Table1").Table.Cols("缴费_月租_起计日期").UsetBuildInEditor = True
e.Form.Controls("Table1").Table.Cols("缴费_月租_止计日期").UsetBuildInEditor = True
e.Form.Controls("lry").text = User.name

\'以这代码为准:
Dim yzdh As WinForm.TextBox = e.Form.Controls("dh")\'dh是单号控件
Dim di As String = yzdh.Value \'di单号控件中的变量
Dim d As Date  = Date.Today
Dim y As Integer = d.Year
Dim m As Integer = d.Month
Dim Days As Integer = Date.DaysInMonth(y,m)
Dim fd As Date = New Date(y,m,1) \'获得该月的第一天
Dim ld As Date = New Date(y,m,Days) \'获得该月的最后一天
Dim bh As String = "yz" & "-" & Format(d,"yyyyMM") & "-" \'生成编号的前缀
Dim max As String
Dim idx As Integer
Dim flt As String
flt = "[前缀] = \'yz\' And [日期] >= #" & fd & "# And [日期] <= #" & ld & "#"
max = DataTables("缴费情况").Compute("Max(单号)",flt) \'取得该月的相同工程代码的最大单据编号
If max > "" Then \'如果存在最大单据编号
    idx = CInt(max.Substring(10,4)) + 1 \'获得最大单据编号的后四位顺序号,并加1
Else
    idx = 1 \'否则顺序号等于1
End If
di = bh & Format(idx,"0000")
yzdh.Value = di
如何让左下角的合计及自动统计的数字居中。

--  作者:有点蓝
--  发布时间:2021/3/5 12:20:00
--  
这个跟随列设置,只能整列设置,把对应的列设置为居中即可:http://www.foxtable.com/webhelp/topics/1786.htm
--  作者:采菊东篱下
--  发布时间:2021/3/5 13:41:00
--  
For Each cl As Col In Tables("月租收费_Table1").Cols
    cl.TextAlign = TextAlignEnum.Center
Next
可以了

--  作者:采菊东篱下
--  发布时间:2021/3/5 13:42:00
--  
能不能只设置合计两字居中
--  作者:有点蓝
--  发布时间:2021/3/5 13:52:00
--  
不能
--  作者:采菊东篱下
--  发布时间:2021/3/5 14:49:00
--  
这样可以只设合计二字居中了
Dim r As Row
With Tables("月租收费_Table1")
    For i As Integer = 0 To .Rows.Count(True) - 1 \'Count加上参数True
        r = .Rows(i,True) \'Rows也需要加上参数True
        If r.Level Then \'如果是合计行
            Tables("月租收费_Table1").Cols("住址_巷").TextAlign = TextAlignEnum.Center
        End If
    Next
End With

--  作者:采菊东篱下
--  发布时间:2021/10/25 14:00:00
--  
其实会计凭证一般要求同一列的摘要靠左,最后一行的合计二字居中,现在软件升级了这问题能解决吗?
[此贴子已经被作者于2021/10/25 14:00:47编辑过]

--  作者:有点蓝
--  发布时间:2021/10/25 20:24:00
--  
解决不了