Foxtable(狐表)用户栏目专家坐堂 → 关于填入数字自动筛选数值对应的合计值


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

主题:关于填入数字自动筛选数值对应的合计值

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


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
关于填入数字自动筛选数值对应的合计值  发帖心情 Post By:2014/4/29 21:55:00 [只看该作者]

比如下图,我想达到的效果就是,我通过计算按钮,计算出按产品合计,然后我在右侧的NumericComboBox1控件中输入一个数值比如30,那么临时表就会筛选出排名前30的产品明细出来,这样的代码如何写。。。请老师给予帮助

 

计算代码是:

Dim g As New GroupTableBuilder("统计表1", DataTables("订单"))
g.Groups.AddDef("产品编码")
g.Groups.AddDef("产品型态")
g.Groups.AddDef("产品")
g.Totals.AddDef("数量")
g.Totals.AddDef("金额")
g.VerticalTotal = True
e.Form.controls("Table1").Table.Datasource = g.BuildDataSource


图片点击可在新窗口打开查看此主题相关图片如下:360截图20140429215029187.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/29 22:04:00 [只看该作者]

Dim fdr As Datarow = e.Form.controls("Table1").Table.Datatable.Find("", "金额 Desc", 30)

If fdr IsNot Nothing Then

    e.Form.controls("Table1").Table.Filter = "金额 >= " & fdr("金额")

Else

    e.Form.controls("Table1").Table.Filter = ""

End If


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


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
  发帖心情 Post By:2014/4/29 22:07:00 [只看该作者]

老师,我不是需要固定的,值,我是需用,填入任何值,他就会筛选出来~~

 


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


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
  发帖心情 Post By:2014/4/29 22:08:00 [只看该作者]

有可能是30,也可以是15,也有可能是20


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


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
  发帖心情 Post By:2014/4/29 22:09:00 [只看该作者]

在比如,如果产品合计列只有15行,我输入的是20,他就只显示15行,且是从最大到最小排序

在比如,如果产品合计列有200行,我输入的是30,他就显示30行,且是从最大到最小排序


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/29 22:09:00 [只看该作者]

 你不要没有一点进步好不好?自己改一下。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/29 22:11:00 [只看该作者]

以下是引用wealthwind在2014-4-29 22:09:00的发言:

在比如,如果产品合计列只有15行,我输入的是20,他就只显示15行,且是从最大到最小排序

在比如,如果产品合计列有200行,我输入的是30,他就显示30行,且是从最大到最小排序

 

排序这样写  e.Form.controls("Table1").Table.Sort = "金额 desc"

 

再看6楼


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


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
  发帖心情 Post By:2014/4/29 22:14:00 [只看该作者]

老师你这样一说,我不敢在追问你了~~

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


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
  发帖心情 Post By:2014/4/29 22:18:00 [只看该作者]

老师,好像这个有点难额~~

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/29 22:19:00 [只看该作者]

 我彻底被你征服了

 

Dim fdr As Datarow = e.Form.controls("Table1").Table.Datatable.Find("", "金额 Desc", e.Form.Controls("xxx").Text)

If fdr IsNot Nothing Then

    e.Form.controls("Table1").Table.Filter = "金额 >= " & fdr("金额")

Else

    e.Form.controls("Table1").Table.Filter = ""

End If

 

e.Form.controls("Table1").Table.Sort = "金额 desc"

[此贴子已经被作者于2014-4-29 22:19:16编辑过]

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