以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 分页加载与流水账,代码问题,老师帮忙看下! (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=51457) |
||||
-- 作者:身份不明 -- 发布时间:2014/5/27 9:10:00 -- 分页加载与流水账,代码问题,老师帮忙看下! http://www.foxtable.com/help/index.html?n=2926.htm 例子上只有收入和支出2个列。如果我的系统里多了一列“结余”,“入库数量”和“出库数量”都是表达式列!如下图:
我的代码如下: 1、删除原来的余额列,然后在项目事件Initialize中设置代码: DataTables("fucai").DataCols.Add("总库存",Gettype(Double)) \'添加余额列,用于动态显示余额 2、将DataColChanged事件设为: (因为结余列是最初的原始库存,不是表达式列,这个代码我不知道结余列这样写对不对?) Select Case e.DataCol.Name Case "结余","出库数量","入库数量" 3、表事件AfterMoveRow的代码保持不变: Dim Key As DecimalDim Index As Integer Dim dc As DataCol Index = Math.Min(e.OldIndex, e.NewIndex) Key = e.Table.Rows(Index)("_SortKey") dc = e.Table.DataTable.DataCols("入库数量") dc.RaiseDataColChanged("[_SortKey] >= " & Key) 4、表事件DataRowDeleting的代码同样保持不变: e.DataRow("入库数量") = 0 5、最后AfterOpenproject事件代码设置为:(分页加载这里我用的是自定义的加载树,按条件加载的,这样对下面的代码有影响吗?) With DataTables("fucai") |
||||
-- 作者:Bin -- 发布时间:2014/5/27 9:13:00 -- 出现什么问题吗? |
||||
-- 作者:有点甜 -- 发布时间:2014/5/27 9:14:00 -- 把例子传上来。
你只有修改了 结余 列,才会计算总库存的,表达式列不会触发 DataColChanged。表达式列如果要触发DataColChanged,看这里 http://www.foxtable.com/help/topics/2381.htm
|
||||
-- 作者:身份不明 -- 发布时间:2014/5/27 9:44:00 -- 为什么我的外部数据源上传不上来呢。mdb格式的,提示文件类型不正确!! |
||||
-- 作者:Bin -- 发布时间:2014/5/27 9:47:00 -- 压缩打包文件. |
||||
-- 作者:身份不明 -- 发布时间:2014/5/27 11:01:00 --
例子已经上传,请老师帮忙做下具体的代码,改了一上午了,问题还是没解决。 目前开发遇到的问题如下: 1. 我的辅材出库界面已经录了1000多行,如果数据量再大的话,启动速度会慢,如果不全部加载数据的话,那主表 总库存统计的数量就不准确。所以要采用分页加载与流水账的形式来做,甜老师说是表达式列无法触发datacolchanged事件, 所以代码就不知道改如何修改了。 请老师麻烦些,帮我实现这个例子,因为我有好个表都存在这样的问题,都需要修改。谢谢老师了!!
|
||||
-- 作者:身份不明 -- 发布时间:2014/5/27 11:02:00 -- 超过2M传不上来,所以删了好多东西! |
||||
-- 作者:Bin -- 发布时间:2014/5/27 11:34:00 -- 你做个例子发上来吧,项目打开就报错.而且东西多有点乱. |
||||
-- 作者:有点甜 -- 发布时间:2014/5/27 11:37:00 -- 看了一下,不明白你为什么要做流水账?明明直接统计即可的。
1、删除结余列,入库数量和出库数量改成数据列
2、编写datacolchanged的代码
Select Case e.DataCol.Name |
||||
-- 作者:身份不明 -- 发布时间:2014/5/27 11:47:00 -- 明白了,甜老师,绕了个弯路。可以不删除结余列统计吗? |