以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数据显示问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=194919)

--  作者:lgz518
--  发布时间:2025/2/6 11:22:00
--  数据显示问题

图片点击可在新窗口打开查看此主题相关图片如下:数据显示问题.jpg
图片点击可在新窗口打开查看
需求数据显示“数据”,如何实现根据“单位”列的内容,显示数据,如图
[此贴子已经被作者于2025/2/6 11:24:18编辑过]

--  作者:有点蓝
--  发布时间:2025/2/6 11:33:00
--  
drawcell事件

if e.col.name = "某数据列"
if e.row("单位") = "元" then
e.text = format(e.row("某数据列"),"c"
elseif e.row("单位") = "%" then

--  作者:lgz518
--  发布时间:2025/2/6 12:36:00
--  
问题一:If e.Col.name = "第一列" Is Not Null Then,这个如果权"第一列"不为空值时,如何改?
    e.text = format(e.Row("第一列"), "00%") \'
End If

问题二:("Format(sum(金额), "00.00")",这个保留小数为二位有错,如何改?
e.DataRow("总金额") = DataTables("窗口_Table2").Compute("Format(sum(金额), "00.00")", "编号 = \'" & e.DataRow("编号") & "\'")
[此贴子已经被作者于2025/2/6 12:49:54编辑过]

--  作者:有点蓝
--  发布时间:2025/2/6 13:43:00
--  
1、http://www.foxtable.com/webhelp/topics/0595.htm

2、format不能用到compute里,请到drawcell事件使用

--  作者:lgz518
--  发布时间:2025/2/6 14:36:00
--  
If Tables("窗口_Table2").Current.IsNull("第一列") Then
    Messagebox.Show("请输入数量!")
    Else
      e.Row("第一列") = format(e.Row("第一列"), "00%") 这个执行,报错不是双精"第一列"是双精,
e.text = format(e.Row("第一列"), "00%") \'这个执行,当前表所列的内容都以%,需求是只有"第一列"为百分比
      
End If

以上如何改?

--  作者:有点蓝
--  发布时间:2025/2/6 14:42:00
--  
if e.col.name = "第一列"
if e.Row.isnull("第一列") =false
e.text = format(e.Row("第一列"), "00%") 
……