Foxtable(狐表)用户栏目专家坐堂 → 临时表的修改,数据刷新和合计刷新的问题!


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

主题:临时表的修改,数据刷新和合计刷新的问题!

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


加好友 发短信
等级:幼狐 帖子:149 积分:1530 威望:0 精华:0 注册:2016/11/8 7:15:00
临时表的修改,数据刷新和合计刷新的问题!  发帖心情 Post By:2020/4/12 21:54:00 [只看该作者]


[此贴子已经被作者于2020/4/12 21:55:38编辑过]

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


加好友 发短信
等级:幼狐 帖子:149 积分:1530 威望:0 精华:0 注册:2016/11/8 7:15:00
  发帖心情 Post By:2020/4/12 22:07:00 [只看该作者]

我用 代码生成了一个临时表
    Dim dtb As New DataTableBuilder("产品明细")
    dtb.AddDef("ProductID", Gettype(String), 32)
    dtb.AddDef("ProductName", Gettype(String))
    dtb.AddDef("ProductNumber", Gettype(Double))
    dtb.AddDef("ProductPrice", Gettype(Double))
    dtb.AddDef("ProductTotal", Gettype(Double))
    dtb.AddDef("MainMemoEx", Gettype(String))
    dtb.AddDef("MainMemo", Gettype(String))
    dtb.AddDef("SaleOK", Gettype(Integer))
    '
    dtb.Build()
    Tables("新建销售单_sale_list").DataSource =DataTables("产品明细")
    Tables("新建销售单_sale_list").AllowEdit = True

    Tables("新建销售单_Sale_List").Cols("ProductTotal").GrandTotal = True '指定要合计的列
    Tables("新建销售单_Sale_List").GrandTotal = True '显示合计模式
动态绑在了窗口的控件上。
使用了合计模式
我现在输入数据后要修改数据发现即时更新有问题!
字段:ProductTotal 是用 字段 : ProductNumber * 字段:ProductPrice 算出来的

因为是临时表 同时控件设置的是副表
只能在
Click 事件和KeyDown事件里面都写了
Tables("新建销售单_Sale_List").Current("ProductTotal") = Tables("新建销售单_Sale_List").Current("ProductNumber") * Tables("新建销售单_Sale_List").Current("ProductPrice")

但是数据不能即时更新要回车2次或者鼠标单击2次  ,同时合计数据也是不及时更新 !
我该怎么改呢?请版主援手!




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


加好友 发短信
等级:超级版主 帖子:112364 积分:572076 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/12 22:58:00 [只看该作者]

去掉Click 事件和KeyDown事件

Dim dtb As New DataTableBuilder("产品明细")
dtb.AddDef("ProductID", Gettype(String), 32)
dtb.AddDef("ProductName", Gettype(String))
dtb.AddDef("ProductNumber", Gettype(Double))
dtb.AddDef("ProductPrice", Gettype(Double))
dtb.AddDef("ProductTotal", Gettype(Double),"ProductNumber * ProductTotal")
dtb.AddDef("MainMemoEx", Gettype(String))
dtb.AddDef("MainMemo", Gettype(String))
dtb.AddDef("SaleOK", Gettype(Integer))
Tables("新建销售单_sale_list").DataSource =dtb.BuildDataSource()

----------------

DataTableBuilder类型有一个AddDef方法,用于定义新增列的属性,可以一次性的指定新增列的名称、类型、标题、长度、表达式,AddDef的语法有六种,非常灵活:

AddDef(Name, Type)
AddDef(Name, Type, Expression)
AddDef(Name, Type, Expression,Caption)
AddDef(Name, Type, MaxLength)
AddDef(Name, Type, MaxLength,Expression)
AddDef(Name, Type, MaxLength,Expression,Caption) 

Name:        字符型,指定列的名称
Type:        Type类型,指定列的类型,用GetType函数获得指定的类型,例如:GetType(String),表示字符型
MaxLength:   整数型,指定字符列的长度
Expression: 字符型,指定计算表达式
Caption:     字符型,指定列标题


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


加好友 发短信
等级:幼狐 帖子:149 积分:1530 威望:0 精华:0 注册:2016/11/8 7:15:00
  发帖心情 Post By:2020/4/13 8:19:00 [只看该作者]

谢谢!

 回到顶部