Foxtable(狐表)用户栏目专家坐堂 → [求助]ComboBox项目取值


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

主题:[求助]ComboBox项目取值

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


加好友 发短信
等级:二尾狐 帖子:526 积分:5083 威望:0 精华:0 注册:2015/4/15 15:25:00
[求助]ComboBox项目取值  发帖心情 Post By:2016/4/22 14:16:00 [只看该作者]

1.先产生一个临时表,来取年度值.
Dim g As New GroupTableBuilder("统计表1", DataTables("表A"))
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Totals.AddDef("编号", AggregateEnum.Count, "数量")
g.Build()
'MainTable = Tables("统计表1")


2.取得自定义项目
Dim nian As WinForm.ComboBox = e.Form.Controls("ComboBox1")
nian.ComboList = DataTables("统计表1").GetComboListString("年") & "|全部"


3.当表查询时,可正常取值
Dim nian As WinForm.ComboBox = e.Form.Controls("ComboBox2")
If nian.Value = "全部" Then
    Tables("表A").Filter = ""
Else
    Dim dt As Date = new Date(nian.value, 1, 1)     '定义选择年度的第1天
    Tables("表A").filter = "日期 >= '" & dt & "' And 日期 < '" & dt.addyears(1) & "' "
End If


4.当需要取值产生新统计表时,只能取值1次
Dim nian As WinForm.ComboBox = e.Form.Controls("ComboBox1")
If nian.Value = "全部" Then
    Dim g2 As New GroupTableBuilder("统计表2", DataTables("表A"))
    g2.Groups.AddDef("日期", DateGroupEnum.Year, "年")
    g2.Totals.AddDef("编号", AggregateEnum.Count, "数量")
    g2.Build()
    'MainTable = Tables("统计表2")
    Tables("统计_Table1").DataSource = g2.BuildDataSource
    Tables("统计_Table1").font = New Font("宋体", 12)
Else
    Dim dt As Date = new Date(nian.value, 1, 1)     '定义选择年度的第1天
    Dim g2 As New GroupTableBuilder("统计表2", DataTables("表A"))
    g2.Filter = "日期 >= '" & dt & "' And 日期 < '" & dt.addyears(1) & "' "
    g2.Groups.AddDef("日期", DateGroupEnum.Year, "年")
    g2.Totals.AddDef("编号", AggregateEnum.Count, "数量")
    g2.Build()
    'MainTable = Tables("统计表2")
    Tables("统计_Table1").DataSource = g2.BuildDataSource
    Tables("统计_Table1").font = New Font("宋体", 12)
End If

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目0422.table
[此贴子已经被作者于2016/4/22 14:16:46编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/22 14:32:00 [只看该作者]

 没看懂你的例子,什么控件,怎么操作后,怎么不对?

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


加好友 发短信
等级:二尾狐 帖子:526 积分:5083 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2016/4/22 14:55:00 [只看该作者]


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


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

[此贴子已经被作者于2016/4/22 14:56:10编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/22 15:00:00 [只看该作者]

我用15.22版测试没问题,等等试试最新版测试。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/22 15:09:00 [只看该作者]

改一下代码

 

Dim nian As WinForm.ComboBox = e.Form.Controls("ComboBox1")


If nian.Value = "全部" Then
    Dim g2 As New GroupTableBuilder("统计表2", DataTables("表A"))
    g2.Groups.AddDef("日期", DateGroupEnum.Year, "年")
    g2.Totals.AddDef("编号", AggregateEnum.Count, "数量")
    Tables("统计_Table1").DataSource = g2.BuildDataSource
    Tables("统计_Table1").font = New Font("宋体", 12)
    DataTables("统计_Table1").SysStyles("Alternate").BackColor = Color.LightCyan     '设置交替行颜色
    DataTables("统计_Table1").SysStyles("EmptyArea").BackColor = Color.LightBLue     '设置空白区域颜色
Else
    Dim dt As Date = new Date(nian.value, 1, 1)     '定义选择年度的第1天
    Dim g2 As New GroupTableBuilder("统计表2", DataTables("表A"))
    g2.Filter = "日期 >= '" & dt & "' And 日期 < '" & dt.addyears(1) & "' "
    g2.Groups.AddDef("日期", DateGroupEnum.Year, "年")
    g2.Totals.AddDef("编号", AggregateEnum.Count, "数量")
    Tables("统计_Table1").DataSource = g2.BuildDataSource
    Tables("统计_Table1").font = New Font("宋体", 12)
    DataTables("统计_Table1").SysStyles("Alternate").BackColor = Color.LightCyan     '设置交替行颜色
    DataTables("统计_Table1").SysStyles("EmptyArea").BackColor = Color.LightBLue     '设置空白区域颜色
End If


 回到顶部