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


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

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

帅哥哟,离线,有人找我吗?
狂风暴雨狂波
  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
问题就可以解决,就不会出错了。不知这个办法是否可行?是不是还有更好的办法?

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


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

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

 回到顶部