Foxtable(狐表)用户栏目专家坐堂 → [求助]加载筛选


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

主题:[求助]加载筛选

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
[求助]加载筛选  发帖心情 Post By:2020/2/2 22:23:00 [显示全部帖子]

老师,我想对窗口临时表进行加载筛选。下面代码无法获取临时表。
  


内部函数
Dim TvwCtl As WinForm.TreeView = Args(0)   '要更新的Treeview控件
Dim TblName As String = Args(1)            '数据来源表
Dim Columns As String = Args(2)            '要构建Treeview的字段
If Tables(TblName).Rows.Count = 0 Then Return Nothing
TvwCtl.Form.StopRedraw
TvwCtl.BuildTree(Tables(TblName).DataTable,Columns)
Dim ArrColName() As String = Columns.Split("|")
For i As Integer = 0 To Ubound(ArrColName)
    If Tables(TblName).DataTable.DataCols(ArrColName(i)).IsDate Then
        For Each Nd As WinForm.TreeNode In TvwCtl.AllNodes
            Dim idx As Integer = nd.Text.IndexOf(" ")
            If idx >= 0 AndAlso Nd.Level = i Then Nd.Text = Nd.Text.SubString(0,Nd.Text.IndexOf(" "))
        Next
    End If
Next
TvwCtl.Nodes.Insert("显示所有行",0)
TvwCtl.Form.ResumeRedraw


函数引用
If e.Sender.Value = "" Then Return
Functions.Execute("加载筛选",e.Form.Controls("筛选树1"),e.Form.Name & "_Table1",e.Sender.Value.Replace(",","|"))


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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2020/2/3 7:30:00 [显示全部帖子]

老师,上面代码不能对窗口临时表进行操作。

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2020/2/3 14:02:00 [显示全部帖子]


老师好,窗口临时表不能筛选和加载。

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

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

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2020/2/3 14:54:00 [显示全部帖子]

老师,函数代码不会修改,谢谢老师帮忙。

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2020/2/3 16:02:00 [显示全部帖子]

老师,修改后还是不能加载临时表

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2020/2/3 16:47:00 [显示全部帖子]

老师,临时表数据不能传递到CheckedComboBox控件中。

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2020/2/3 17:27:00 [显示全部帖子]


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

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2020/2/3 17:51:00 [显示全部帖子]

老师,代码合并后报错。

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("客户名称", Gettype(String), 16)
dtb.AddDef("商品名称", Gettype(String), 16)
dtb.AddDef("入库_数量", Gettype(Integer))
dtb.AddDef("入库_合计金额", Gettype(Double))
'dtb.AddDef("合计金额", Gettype(Double))
dtb.Build()
Tables("入库明细_Table1").DataSource = dtb.BuildDataSource()
For Each nm() As String In DataTables("入库明细").GetValues("客户名称|商品名称")
    
    Dim dr As DataRow = DataTables("入库明细_Table1").AddNew()
    'Dim dr As DataRow = DataTables("统计").AddNew()
    dr("客户名称") = nm(0)
    dr("商品名称") = nm(1)
    dr("入库_数量") = DataTables("入库明细").Compute("Sum(入库_数量)","客户名称 = '" & nm(0) & "' And [商品名称] = '" & nm(1) & "'")
    dr("入库_合计金额") = DataTables("入库明细").Compute("Sum(合计金额)","客户名称 = '" & nm(0) & "' And [商品名称] = '" & nm(1) & "'")
Next
MainTable= Tables("统计")


Tables("入库明细_table1").SetColVisibleWidth ("客户名称|260|商品名称|120|入库_数量|70|入库_合计金额|100")                     
Tables("入库明细_table1").DefaultRowHeight = 30
For Each c As Col In Tables("入库明细_table1").Cols
    C.TextAlign  =TextAlignEnum.Center
Next
Tables("入库明细_table1").grid.Styles("Normal").border.Color = Color.DodgerBlue
Tables("入库明细_table1").Font = New Font("微软雅体",12,FontStyle.Regular)
Tables("入库明细_table1").ListMode = True                     '整行突出


Tables("入库明细_table1").Cols("入库_合计金额").GrandTotal = True '指定要合计的列
'Tables("订单").Cols("金额").GrandTotal = True
Tables("入库明细_table1").GrandTotal = True '显示合计模式



Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1")
tab.SelectedIndex = 1
'msgbox(tab.tabpages(3).text)
e.form.controls("标签").text = e.form.controls("TabControl1").tabpages(1).text



e.Form.Controls("Panel2").TopMost= True
e.Form.Controls("Panel2").Visible= True
e.Form.Controls("Panel1").Visible= False




If e.Sender.Value = "" Then Return
Functions.Execute("加载筛选",e.Form.Controls("筛选树1"),e.Form.Name & "_Table1",e.Sender.Value.Replace(",","|"))

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2020/2/4 9:24:00 [显示全部帖子]

老师,下面代码在显示窗口临时表时同时把窗口的基表也显示出来了。

Dim b As New GroupTableBuilder("统计",DataTables("入库明细"))
b.Groups.AddDef("入库日期","月份") 
b.Totals.AddDef("入库_数量")
b.Totals.AddDef("合计金额","入库_金额")
Tables("入库明细_Table1").DataSource = b.BuildDataSource()
        Tables("入库明细_table1").SetColVisibleWidth ("月份|40|入库_数量|80|入库_金额|80")                      '("日期|60|姓名|60|性别|40|年龄|60|检验项目|100|检验结果|60|单位|60|参考低值|60|参考高值|60|结果提示|60")
        Tables("入库明细_table1").DefaultRowHeight = 30     '行高
        Tables("入库明细_table1").AllowEdit = False
        For Each c As Col In Tables("入库明细_table1").Cols
            C.TextAlign  =TextAlignEnum.Center
        Next
Tables("入库明细_table1").Font = New Font("微软雅体",12,FontStyle.Regular)     
With Tables("入库明细_table1")
    .Cols("入库_金额").GrandTotal = True
    .GrandTotal = True '显示合计模式
End With
With Tables(e.Form.Name & "_Table1")
    .EnterKeyActionDown = True
    .AutoSizeCols
    Dim dz_FilterCol As WinForm.CheckedComboBox = e.Form.Controls("复选1")
    For Each C As Col In .Cols
        dz_FilterCol.Items.Add(C.Name)
    Next
    dz_FilterCol.Value = ""
End With
Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1")
tab.SelectedIndex = 1
'msgbox(tab.tabpages(3).text)
e.form.controls("标签").text = e.form.controls("TabControl1").tabpages(1).text
e.Form.Controls("Panel2").TopMost= True
e.Form.Controls("Panel2").Visible= True
e.Form.Controls("Panel1").Visible= False

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2020/2/4 10:11:00 [显示全部帖子]

老师,找不到原因。
Dim b As New GroupTableBuilder("统计",DataTables("入库明细"))
b.Groups.AddDef("入库日期","月份") 
b.Totals.AddDef("入库_数量")
b.Totals.AddDef("合计金额","入库_金额")
Tables("入库明细_Table1").DataSource = b.BuildDataSource()
      
With Tables("入库明细_table1")
    .Cols("入库_金额").GrandTotal = True
    .GrandTotal = True '显示合计模式
End With
With Tables(e.Form.Name & "_Table1")
    .EnterKeyActionDown = True
    .AutoSizeCols
    Dim dz_FilterCol As WinForm.CheckedComboBox = e.Form.Controls("复选1")
    For Each C As Col In .Cols
        dz_FilterCol.Items.Add(C.Name)
    Next
    dz_FilterCol.Value = ""
End With

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