以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多次单击复选目录树的复选框出现的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46577)

--  作者:fubblyc
--  发布时间:2014/2/25 21:36:00
--  多次单击复选目录树的复选框出现的问题
各位老师帮忙看下,照着帮助做的,多次单击复选目录树的复选框出现的问题,你们只要应用下窗口(两个窗口都是一样的问题),多次点击用目录树做的加载树旁边的复选框,就会出现问题。。。。不知道是怎么回事。。。

反复地点击同一个复选框,勾选了再勾掉再勾选,到第5次就会出现问题

而且窗口打开很慢。。
[此贴子已经被作者于2014-2-25 21:37:30编辑过]

--  作者:有点甜
--  发布时间:2014/2/25 22:39:00
--  
 打开窗口慢,是因为查询的原因,你的数据越多,打开就越慢。

 报错是你的NodeMouseDoubleClick事件代码的原因,改一下

Dim Filter As String
Dim Value()As String
Value = e.Node.FullPath.Split("\\")
Select Case e.Node.Level
    Case 0
        Filter ="Year(日期) = " & Value(0)
    Case 1
        Filter ="Year(日期) = " & Value(0) & " And Month(日期) = " & Value(1)
    Case 2
        Filter ="Year(日期) = " & Value(0) & " And Month(日期) = " & Value(1) & " And 门市专柜编号 = \'" & Value(2)
        
End Select

Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid1")
rgd.Table = Nothing \'指定绑定表


Tables("VIP经营成果月报表_经营成果分析").Fill("select * from (Select VIP消费信息.购买日期 As 日期,VIP消费信息.分公司 As 分公司, VIP消费信息.办事处 As 办事处, VIP消费信息.门市专柜编号 As 门市专柜编号, VIP消费信息.门市专柜简称 As 门市专柜简称, SUM(VIP消费信息.实收金额) As VIP销售额, 门店整体销售额.门店整体销售额 As 门店整体销售额 ,SUM(VIP消费信息.实收金额)/门店整体销售额.门店整体销售额 As VIP销售贡献率,COUNT(DISTINCT VIP消费信息.VIP卡号) As VIP销售笔数,SUM(VIP消费信息.数量) As VIP销售件数, SUM(VIP消费信息.实收金额)/COUNT(DISTINCT VIP消费信息.VIP卡号) As VIP客单价, SUM(VIP消费信息.实收金额)/SUM(VIP消费信息.数量) As VIP物单价, SUM(VIP消费信息.实收金额)/COUNT(DISTINCT VIP消费信息.VIP卡号)/SUM(VIP消费信息.实收金额)/SUM(VIP消费信息.数量) As VIP连带率" _
& " FROM (dbo.VIP消费信息 As VIP消费信息" _
& " INNER JOIN dbo.门店整体销售额 As 门店整体销售额 ON (VIP消费信息.购买日期 = 门店整体销售额.购买日期 And VIP消费信息.门市专柜编号 = 门店整体销售额.门市专柜编号 ))" _
& " GROUP BY VIP消费信息.购买日期, VIP消费信息.分公司, VIP消费信息.办事处, VIP消费信息.门市专柜编号, VIP消费信息.门市专柜简称, 门店整体销售额.门店整体销售额) as temp where " & filter, "VIP数据", True)
Tables("VIP经营成果月报表_经营成果分析").GrandTotal = True \'显示合计模式


Dim g As New GroupTableBuilder("统计表2", Tables("VIP经营成果月报表_经营成果分析").DataTable)
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")
g.Groups.AddDef("日期", DateGroupEnum.Day, "日")
g.Groups.AddDef("分公司")
g.Groups.AddDef("办事处")
g.Groups.AddDef("门市专柜编号")
g.Groups.AddDef("门市专柜简称")
g.Totals.AddDef("VIP销售额", "" ,"VIP销售额_值")
g.Totals.AddDef("门店整体销售额", "" ,"门店整体销售额_值")
g.Totals.AddDef("VIP销售贡献率", "" ,"VIP贡献率_值")
g.Totals.AddDef("VIP销售笔数", "" ,"VIP销售笔数_值")
g.Totals.AddDef("VIP销售件数", "" ,"VIP销售件数_值")
g.Totals.AddDef("VIP客单价", "" ,"VIP客单价_值")
g.Totals.AddDef("VIP物单价", "" ,"VIP物单价_值")
g.Totals.AddDef("VIP连带率", "" ,"VIP连带率_值")
g.SamePeriodGrowth = True
g.CircleGrowth = True
g.GrandProportion = True
Tables("VIP经营成果月报表_经营成果分析").DataSource = g.BuildDataSource()

Tables("VIP经营成果月报表_经营成果分析").Cols("VIP销售额").GrandTotal = True \'指定要合计的列
Tables("VIP经营成果月报表_经营成果分析").Cols("门店整体销售额").GrandTotal = True \'指定要合计的列
Tables("VIP经营成果月报表_经营成果分析").Cols("VIP销售笔数").GrandTotal = True \'指定要合计的列
Tables("VIP经营成果月报表_经营成果分析").Cols("VIP销售件数").GrandTotal = True \'指定要合计的列
Tables("VIP经营成果月报表_经营成果分析").Cols("VIP客单价").GrandTotal = True \'指定要合计的列
Tables("VIP经营成果月报表_经营成果分析").Cols("VIP物单价").GrandTotal = True \'指定要合计的列

rgd.Table = Tables("VIP经营成果月报表_经营成果分析")
rgd.Build

--  作者:fubblyc
--  发布时间:2014/2/25 23:32:00
--  
谢谢有点甜老师,你的这条修改有效!

不过,我发现双击完之后,就只能在这个级别内筛选了,别的级别的我直接勾选就没有。所以,我干脆就把  NodeMouseDoubleClick  的代码全部删掉,

这样就能勾选哪个就能筛选出哪个了。

谢谢有点甜老师!