Foxtable(狐表)用户栏目专家坐堂 → 高效流水账里的奇怪现象?


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

主题:高效流水账里的奇怪现象?

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


加好友 发短信
等级:小狐 帖子:314 积分:3043 威望:0 精华:0 注册:2014/3/21 17:22:00
高效流水账里的奇怪现象?  发帖心情 Post By:2015/4/27 21:29:00 [只看该作者]

不知大家发现没有,在高效流水账里增加三行,在后二行里输入数据,就会出现断层现象,如图:
图片点击可在新窗口打开查看此主题相关图片如下:lsz1.bmp
图片点击可在新窗口打开查看


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


加好友 发短信
等级:小狐 帖子:314 积分:3043 威望:0 精华:0 注册:2014/3/21 17:22:00
  发帖心情 Post By:2015/4/27 21:58:00 [只看该作者]

也就是说,只要增加一空行不输入任何数据,然后再增加一行,输入数据,上一行之上一行的数据不会累加下来。但是删除空行后数据可以加下来,问题是录入了几千行数据,中间如果录了几十行空行,出现几十个断层,那结果就不敢想象了。
[此贴子已经被作者于2015/4/27 21:58:52编辑过]

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


加好友 发短信
等级:小狐 帖子:314 积分:3043 威望:0 精华:0 注册:2014/3/21 17:22:00
  发帖心情 Post By:2015/4/27 22:07:00 [只看该作者]

如果在DataRowAdded事件中加上这段代码:
Dim dr As DataRow
Dim drs As List(of DataRow)
dr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc")
If dr Is Nothing Then
    e.DataRow("余额") = e.DataRow("收入") - e.DataRow("支出")
    dr = e.DataRow
End If
drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
For i As Integer = 1 To drs.Count - 1
    drs(i)("余额") = drs(i-1)("余额") + drs(i)("收入") - drs(i)("支出")
Next
问题就可以解决,就不会出错了。不知这个办法是否可行?是不是还有更好的办法?

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


加好友 发短信
等级:幼狐 帖子:105 积分:849 威望:0 精华:0 注册:2015/1/25 23:22:00
  发帖心情 Post By:2015/4/28 0:06:00 [只看该作者]

DataRowAdded事件中加上删除空白行或者收入支出全为0的代码是不是可以啊?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/28 8:45:00 [只看该作者]

是这样的.你可以这么做

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/4/28 9:06:00 [只看该作者]

你也可以修改流水账计算代码,将条件表达式修改一下,排除关键值为空的行。

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


加好友 发短信
等级:小狐 帖子:314 积分:3043 威望:0 精华:0 注册:2014/3/21 17:22:00
  发帖心情 Post By:2015/4/28 14:38:00 [只看该作者]

删除空白行不行,因为增加一行时就是空白行,这样就增加行时增加不上.收入支出为0可以.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/28 14:45:00 [只看该作者]

也可以这么做,在此之前加入删除空白行代码即可

还是觉得6楼的方法好

 回到顶部