Foxtable(狐表)用户栏目专家坐堂 → 数值显示控制


  共有2018人关注过本帖树形打印复制链接

主题:数值显示控制

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


加好友 发短信
等级:童狐 帖子:211 积分:1738 威望:0 精华:0 注册:2015/6/19 12:56:00
数值显示控制  发帖心情 Post By:2018/4/18 15:36:00 [只看该作者]

技服人员,你好。
我在窗体上有一个控件(Table1),类型:SQLQuery,如何设定数字显示格式(比如:数字字段就显示2位小数)?

Dim Cur_table As WinForm.Table = e.Form.Controls("Table1")
For Each dt As DataCol In DataTables(Cur_table.Table).DataCols
    If dt.IsNumeric Then
        DataTables(Cur_table.Table.Name).dt.SetFormat("0.00")
    End If
Next


错误在哪里?

[此贴子已经被作者于2018/4/18 16:11:02编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/18 15:48:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
zxjsd
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:211 积分:1738 威望:0 精华:0 注册:2015/6/19 12:56:00
  发帖心情 Post By:2018/4/18 16:19:00 [只看该作者]

请回复。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/18 16:25:00 [只看该作者]

Dim Cur_table As WinForm.Table = e.Form.Controls("Table1")
For Each dt As DataCol In Cur_table.Table.DataTable.DataCols
    If dt.IsNumeric Then
        dt.SetFormat("0.00")
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
zxjsd
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:211 积分:1738 威望:0 精华:0 注册:2015/6/19 12:56:00
  发帖心情 Post By:2018/4/19 12:32:00 [只看该作者]

如何改成全局代码呢?方便修改只要改动一处代码。还有价格参数调用,比如,2就设置为“0.00”,3就设置为“0.000”.请指导

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/19 13:10:00 [只看该作者]

比如,你可以改成这样

 

Dim Cur_table As WinForm.Table = e.Form.Controls("Table1")
For Each dt As DataCol In Cur_table.Table.DataTable.DataCols
    If dt.IsNumeric Then
        dt.SetFormat(vars("格式"))
    End If
Next

然后,你动态设置 vars("格式") = "0.00"


 回到顶部
帅哥哟,离线,有人找我吗?
zxjsd
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:211 积分:1738 威望:0 精华:0 注册:2015/6/19 12:56:00
  发帖心情 Post By:2018/4/19 16:04:00 [只看该作者]

窗口有10几个,如果在每个窗口的Table1的AfterLoad的事件中输入代码,以后修改怕忘了某个窗口,我想改成全局代码,这样修改规则只要修改全局代码就行,减少出错。
另外,不同的窗口模式,窗口的Table1的AfterLoad的事件,有的执行(独立),有的不执行(模式),怎么回事?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/19 17:26:00 [只看该作者]

必须写在每个窗口,才行。

 

如果确实需要全局去做,可以写到CurrentTableChanged事件,或者做一个定时器,定时执行代码。


 回到顶部