Foxtable(狐表)用户栏目专家坐堂 → [求助]代码 关联统计问题


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

主题:[求助]代码 关联统计问题

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
[求助]代码 关联统计问题  发帖心情 Post By:2014/6/24 19:47:00 [显示全部帖子]

foxtable开发版用户新手求指导:
如图窗口右上角有个日期控件  设置的是当天默认值  进入这个窗口 左边的表格绑定的是装配表 会根据代码生成出当天的装配表(有点甜大哥指点的)
右边的表格绑定的是统计表(临时表) 
我是想实现 右边的表格会根据 蔬菜品种表中的品种数目 增加那么多行 品种名称列对应 蔬菜品种表中的品种名称字段
然后总数量 是统计出对应每种品种配比列的累加和 
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

比如 上海青 7012客户配比1 7013客户配比1 7014客户配比1 7015客户配比0   总数量应为3

这个要用代码把?怎么写? 求大神指点

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
例子代码上传了~  发帖心情 Post By:2014/6/24 20:08:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:装配 新项目 .rar


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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
这么快 厉害啊~  发帖心情 Post By:2014/6/24 20:32:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:5.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:6.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:装配 改.rar



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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
.  发帖心情 Post By:2014/6/24 20:32:00 [显示全部帖子]

GroupTableBuilder完全没用过~

还有个问题 刚忘说了 
要把蔬菜采收表里 品种对应实际产量列 读入到统计表中的实际产量列  用于跟总数量对比 总数量要求不能超过实际产量 (如果超过的话最好用红色列标注出来)
这个能实现吗?代码实现会不会很复杂

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
厉害啊~ 可以了  发帖心情 Post By:2014/6/24 21:52:00 [显示全部帖子]

厉害啊~ 可以了 
可以讲下思路是怎么样的嘛 怎么实现的 写在什么事件里面 了解下! 我打开工程只看到Drawcell事件里有标注代码 其他的代码好像都没看到诶~

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
看到了~谢谢  发帖心情 Post By:2014/6/24 22:14:00 [显示全部帖子]

看到了~谢谢 代码很腻害 有很多没用过~

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
代码统计好像有点问题~  发帖心情 Post By:2014/6/28 12:18:00 [显示全部帖子]

我现在保存是不覆盖以前日期的~
只按品种分组 会把以前日期的配比列也给加进去 计算品种总数量会有问题
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

代码如下:
Tables("装配表").DataTable.DeleteFor(" [日期] = '" & e.Form.Controls("DateTimePicker1").Value & "'")
Tables("装配表").Filter=" [日期] = '" & e.Form.Controls("DateTimePicker1").Value & "'"
SystemReady = False

Dim drs As List(Of DataRow) = DataTables("蔬菜采收表").Select("日期 = #" & e.Sender.Text & "#")
For Each dr As DataRow In DataTables("当天配送会员").Select("日期 = #" & e.Sender.Text & "#")
    For Each cdr As DataRow In drs
        Dim ndr As DataRow = DataTables("装配表").addnew
        
        ndr("日期") = dr("日期")
        ndr("会员编号") = dr("会员编号")
        ndr("品种") = cdr("品种")
        ndr("装箱总斤数")=dr("装箱斤数")
        Dim fdr As DataRow = DataTables("蔬菜喜好表").Find("会员编号 = '" & dr("会员编号") & "' and 产品 = '" & cdr("品种") & "'")
        If fdr IsNot Nothing Then
            ndr("喜好") = fdr("喜好")
            If fdr("喜好") = "吃" OrElse fdr("喜好") = "爱吃" Then
                ndr("配比") = 1
            Else
                ndr("配比") = 0
            End If
        End If
    Next
Next
For Each dr As DataRow In DataTables("装配表").Select("日期 = #" & e.Sender.Text & "#")
    dr("小计") = DataTables("装配表").compute("sum(配比)", "日期 = #" & dr("日期") & "# and 会员编号 = '" & dr("会员编号") & "'")
    dr("装箱参考")=dr("配比")
Next

SystemReady = True

Dim t As Table = Forms("装配窗体").Controls("Table1").Table
Dim b As New GroupTableBuilder("统计表1", DataTables("装配表"))
b.Groups.AddDef("品种") '根据产品分组
b.Totals.AddDef("配比", AggregateEnum.Sum, "总数量") '对数量进行统计
t.DataSource = b.BuildDataSource '生成统计表
t.DataTable.DataCols.Add("实际产量", Gettype(Integer))
For Each r As Row In t.Rows
    Dim fdr As DataRow = DataTables("蔬菜采收表").Find("日期 = #" & e.Sender.Text & "# And 品种 = '" & r("品种") & "'")
    If fdr IsNot Nothing Then
        r("实际产量") = fdr("实际产量")
    End If
Next
我尝试改成 b.Groups.AddDef("日期","品种")  但是不行 

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
问个表格变色问题~Drawcell事件  发帖心情 Post By:2014/7/6 22:13:00 [显示全部帖子]

麻烦问下这个什么问题~
我现在是想 装箱总斤数列 和 小计列 值不等的时候 小计列同样变颜色 
在Drawcell事件中同样加代码 代码如下:
If e.Col.Name = "小计" Then
    If e.Row("小计") > e.Row("装箱总斤数") OrElse e.Row("小计") < e.Row("装箱总斤数")  Then
        e.Style = "blue"
    End If
End If
但是不相等的时候 没效果!!旁边的是原来的 有效
图片点击可在新窗口打开查看此主题相关图片如下:71.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:72.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
  发帖心情 Post By:2014/7/6 22:19:00 [显示全部帖子]

我最开始有加过了 Drawcell代码如下:
e.Table.DataTable.AddUserStyle("blue", Color.Blue , Color.black)

If e.Col.Name = "总数量" Then
    If e.Row("总数量") > e.Row("实际产量") Then
        e.Style = "blue"
    End If
End If
e.Table.DataTable.AddUserStyle("blue", Color.Blue , Color.black)
If e.Col.Name = "小计" Then
    If e.Row("小计") > e.Row("装箱总斤数") OrElse e.Row("小计") < e.Row("装箱总斤数")  Then
        e.Style = "blue"
    End If
End If
加了两遍都不行???
图片点击可在新窗口打开查看此主题相关图片如下:81.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
好像加过了~  发帖心情 Post By:2014/7/6 22:20:00 [显示全部帖子]

我最开始有加过了 Drawcell代码如下:
e.Table.DataTable.AddUserStyle("blue", Color.Blue , Color.black)

If e.Col.Name = "总数量" Then
    If e.Row("总数量") > e.Row("实际产量") Then
        e.Style = "blue"
    End If
End If
e.Table.DataTable.AddUserStyle("blue", Color.Blue , Color.black)
If e.Col.Name = "小计" Then
    If e.Row("小计") > e.Row("装箱总斤数") OrElse e.Row("小计") < e.Row("装箱总斤数")  Then
        e.Style = "blue"
    End If
End If
加了两遍都不行???
此主题相关图片如下:81.png
按此在新窗口浏览图片

 回到顶部
总数 12 1 2 下一页