以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  主窗口刷新  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=192235)

--  作者:wlj88868
--  发布时间:2024/6/4 17:53:00
--  主窗口刷新
老师主窗口做了一个统计的,,统计表更新了,,窗口不会更新,退出了重新进才会刷新,,有没有刷新窗口的办法呀
图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/6/4 21:19:00
--  
方法1、把窗口统计的额代码放到计时事件里,定时更新
2、统计表datacolchanged事件里,重新调用窗口的刷新代码

--  作者:wlj88868
--  发布时间:2024/6/4 21:30:00
--  

Select Case e.DataCol.Name
    Case "数量", "销售单价", "销售商场", "条码"
        Dim pr1 As DataRow
        pr1 = DataTables("统计表").Find("管辖部门 = \'" & e.DataRow("管辖部门") & "\'")
        If pr1 IsNot Nothing Then
            DataTables("统计表").DataCols("管辖部门").RaiseDataColChanged(pr1)
        End If
End Select

这个在销售记录里的代码刷新统计表这样刷新为什么新加的数据不会统计,,


--  作者:有点蓝
--  发布时间:2024/6/4 21:35:00
--  
这个刷新的是统计表,和窗口有什么关系?
--  作者:wlj88868
--  发布时间:2024/6/4 21:36:00
--  
窗口就是调用这个统计表的
--  作者:有点蓝
--  发布时间:2024/6/4 21:47:00
--  
在刷新统计表的代码里,同时调用窗口的代码
--  作者:wlj88868
--  发布时间:2024/6/4 21:49:00
--  
老师根据你第2中方法,把窗口代码放统计表里,会报错,,麻烦给看一下,,,随便给看一下统计表刷新的代码,
--  作者:wlj88868
--  发布时间:2024/6/4 21:53:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:黛威尔手表有限公司.rar


--  作者:wlj88868
--  发布时间:2024/6/4 22:06:00
--  

If e.DataCol.Name = "管辖部门" Then
    Dim Filter As String = "[管辖部门] = \'" & e.NewValue & "\'"
    e.DataRow("数量") = DataTables("销售资料").sqlCompute("Sum(数量)", Filter)
    e.DataRow("金额") = DataTables("销售资料").sqlCompute("Sum(吊牌单价)", Filter)
    e.DataRow("销售金额") = DataTables("销售资料").sqlCompute("Sum(销售单价)", Filter)
    e.DataRow("入库数量") = DataTables("采购明细").sqlCompute("Sum(数量)", Filter)
    e.DataRow("入库金额") = DataTables("采购明细").sqlCompute("Sum(数量*单价)", Filter)
    e.DataRow("出库数量") = DataTables("出库明细").sqlCompute("Sum(数量)", Filter)
    e.DataRow("出库金额") = DataTables("出库明细").sqlCompute("Sum(数量*单价)", Filter)
    e.DataRow("退货数量") = DataTables("退货明细").sqlCompute("Sum(数量)", Filter)
    e.DataRow("退货金额") = DataTables("退货明细").sqlCompute("Sum(数量*单价)", Filter)
End If
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("统计表") \'定义一个变量t引用数据表
Dim sm As Integer = t.Compute("Sum(数量)") \'计算总数量
Chart = Forms("图表").Controls("Chart1") \' 引用窗口中的图表
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie \'图表1类型改为Bar(条形)
For Each r As Row In t.Rows
    Series = Chart.SeriesList.Add() \'增加一个图系
    Series.Length = 1 \'一个系列只能包括一个值
    Series.Text = r("管辖部门") & "(" & r("数量") & ")" \'设置图系的标题
    Series.Y(0) = r("数量") \'指定值
    Series.DataLabelText = Math.Round(r("数量") * 100 / sm, 2) & "%" \'计算百分比
Next
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass = CompassEnum.East \'图列显示在东方(右方)
Chart =Forms("图表").Controls("Chart2") \' 引用窗口中的图表
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Bar \'图表1类型该为Bar(条形)
Chart.ChartType2 = ChartTypeEnum.XYPlot \'图表2类型该为线形
Chart.DataSource = "统计表" \'设置绑定表
Chart.SeriesList.Clear() \'清除图表原来的图系
Series = Chart.SeriesList.Add() \'给图表1增加一个图系
Series.Text = "数量"
Series.X.DataField = "管辖部门" \'X轴绑定到产品列
Series.Y.DataField = "数量" \'Y轴绑定到数量列
Chart.SeriesList2.Clear() \'清除图表原来的图系
Series = Chart.SeriesList2.Add() \'给图表2增加一个图系
Series.Text = "金额"
Series.X.DataField = "管辖部门" \'X轴绑定到产品列
Series.Y.DataField = "金额" \'Y轴绑定到数量列
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass = CompassEnum.South \'图列显示在南方(底端)
Chart.AxisY.Text = "数量"
Chart.AxisY2.Text = "金额"
Chart.SeriesList(0).FillColor = Color.Aqua
Forms("图表").Controls("Label4").text = DataTables("统计表").Compute("sum(数量)") & "只"
Forms("图表").Controls("Label5").text = DataTables("统计表").Compute("sum(金额)") & "元"
Forms("图表").Controls("Label05").text = DataTables("统计表").Compute("sum(入库数量)") - DataTables("统计表").Compute("sum(出库数量)") + DataTables("统计表").Compute("sum(退货数量)") & "只"
Forms("图表").Controls("Label07").text = DataTables("统计表").Compute("sum(入库金额)") - DataTables("统计表").Compute("sum(出库金额)") + DataTables("统计表").Compute("sum(退货金额)") & "元"
Forms("图表").Controls("Label06").text = DataTables("统计表").Compute("sum(出库数量)") - DataTables("统计表").Compute("sum(退货数量)") - DataTables("统计表").Compute("sum(数量)") & "只"
Forms("图表").Controls("Label08").text = DataTables("统计表").Compute("sum(出库金额)") - DataTables("统计表").Compute("sum(退货金额)") - DataTables("统计表").Compute("sum(金额)") & "元"
Forms("图表").Controls("Label9").text = DataTables("统计表").Compute("sum(入库数量)") & "只"
Forms("图表").Controls("Label13").text = DataTables("统计表").Compute("sum(入库金额)") & "元"
Forms("图表").Controls("Label10").text = DataTables("统计表").Compute("sum(出库数量)") & "只"
Forms("图表").Controls("Label03").text = DataTables("统计表").Compute("sum(出库金额)") & "元"
Forms("图表").Controls("Label01").text = DataTables("统计表").Compute("sum(退货数量)") & "只"
Forms("图表").Controls("Label04").text = DataTables("统计表").Compute("sum(退货金额)") & "元"

 

 

 

 

第一个图为什么会变了,,刚刚出错好像是e.forms,我给换成Forms("图表"),,其他的都出来了,就第一个图乱了,


--  作者:wlj88868
--  发布时间:2024/6/4 22:07:00
--  

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