Foxtable(狐表)用户栏目专家坐堂 → [讨论]数据填充器怎么用


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

主题:[讨论]数据填充器怎么用

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


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/14 8:19:00 [显示全部帖子]

是出错,还是某些列没有数据,还是全部没有数据?

代码看出不出问题,看看是不是列名错了。

最好做个简单例子发上来测试


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


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/14 14:36:00 [显示全部帖子]

修改下面两行代码,求最高分,最低分,应该用compute,而不是Find哦:


dim maxid as integer = DataTables("笔试成绩").FInd("天数='" & e.DataRow("天数") & "' and 分组='" & e.DataRow("分组") & "'","总成绩 Desc")

dim minid as integer = DataTables("笔试成绩").FInd("天数='" & e.DataRow("天数") & "' and 分组='" & e.DataRow("分组") & "'","总成绩") 

 

参考:

 

http://www.foxtable.com/help/topics/0393.htm

 


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


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/14 14:38:00 [显示全部帖子]

用Compute比较稳妥:

 

dim maxid as integer = DataTables("笔试成绩").Compute("max(总成绩)","天数='" & e.DataRow("天数") & "' and 分组='" & e.DataRow("分组") & "'")

dim minid as integer = DataTables("笔试成绩").Compute("min(总成绩)","天数='" & e.DataRow("天数") & "' and 分组='" & e.DataRow("分组") & "'")

 

 

 

[此贴子已经被作者于2013-11-14 14:40:38编辑过]

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


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/14 14:48:00 [显示全部帖子]

呵呵,明白你在做什么了

图片点击可在新窗口打开查看


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


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/14 15:27:00 [显示全部帖子]

最好自己写好代码和表达式后发上来,说明哪一行数据问题,不要让别人猜。


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


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/14 15:33:00 [显示全部帖子]

代码也可以改为,简单点:

 

If e.DataCol.name="天数" OrElse e.DataCol.name="分组" Then
    If e.DataRow.IsNull("天数")=False AndAlso e.DataRow.IsNull("分组")=False Then
        e.DataRow("最高分") = DataTables("笔试成绩").Compute("max(总成绩)","天数='" & e.DataRow("天数") & "' and 分组='" & e.DataRow("分组") & "'")
        e.DataRow("最低分") = DataTables("笔试成绩").Compute("min(总成绩)","天数='" & e.DataRow("天数") & "' and 分组='" & e.DataRow("分组") & "'")
        e.DataRow("总分") = DataTables("笔试成绩").Compute("sum(总成绩)","天数='" & e.DataRow("天数") & "' and 分组='" & e.DataRow("分组") & "'") - e.DataRow("最高分") -e.DataRow("最低分")
        e.DataRow("计数") = DataTables("笔试成绩").Compute("Count(总成绩)","天数='" & e.DataRow("天数") & "' and 分组='" & e.DataRow("分组") & "'")
       e.DataRow("本组平均值")= (e.DataRow("总分") - e.DataRow("最高分") - e.DataRow("最低分")) / (e.DataRow("计数")  -2)
    End If
End If

[此贴子已经被作者于2013-11-14 15:34:46编辑过]

 回到顶部