以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  选择不同显示不同的比例  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77605)

--  作者:yangwenghd
--  发布时间:2015/11/21 15:28:00
--  选择不同显示不同的比例

图片点击可在新窗口打开查看此主题相关图片如下:显示百分比.png
图片点击可在新窗口打开查看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:不同类型的占比.table



可以点击按钮把左边筛选的出的列表在右边选择的列和的百分比吗?
比如选择时间,选择公司(或者业务员,类型)点击列表,然后选择右边的ComboBox01 列,然后

点击按钮,就显示时间范围,公司(或者业务员、类型)在ComboBox01选择的(销售合计、利润和

、等)所占的比例。感谢 感谢 

--  作者:Hyphen
--  发布时间:2015/11/21 15:44:00
--  
以下是引用yangwenghd在2015/11/21 15:28:00的发言:

 
可以点击按钮把左边筛选的出的列表在右边选择的列和的百分比吗?

 

这句话什么意思?


--  作者:yangwenghd
--  发布时间:2015/11/21 16:02:00
--  
就是点击按钮前,选择ComboBox6 点击列表,Table1就会显示出列表,
然后在选择ComboBox01 (销售合计、利润和、采购合计、返点金额)在点击按钮 “圆饼百分比”
就显示  Table1 列在ComboBox01(数据) 所占的比例。


--  作者:Hyphen
--  发布时间:2015/11/21 16:20:00
--  

不知道是不是这样的效果

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:不同类型的占比.table


--  作者:yangwenghd
--  发布时间:2015/11/21 21:15:00
--  
感谢 感谢 就是这个效果,ComboBox01选择了其他我送你就不能显示数据了啊
--  作者:大红袍
--  发布时间:2015/11/22 14:36:00
--  

1、哪里有其它啊;

 

2、选择其它的时候要筛选哪些数据啊。


--  作者:yangwenghd
--  发布时间:2015/11/22 20:43:00
--  
感谢 ,前面的都不变,就是后面选择采购合计
或者利润和 的时候,就不能用的,
选择后只是在以前的销售合计列改为选择的列
其他的时间,业务员、公司名称等,都根据选择的
显示。感谢 感谢 
比如选择时间,然后选择 公司名称、业务员、类型、然后选择采购合计、利润和、采购合计、返点金额、 显示在选择的时间内。ComboBox6 选择的在ComboBox01列中所占比。
比如选择时间,ComboBox6选择 业务员 ,ComboBox01选择采购合计 图表显示 在时间范围内筛选到的业务员 分别在采购合计列中分别占的比例,数值。
如果选择ComboBox6选择 类型 ,ComboBox01选择 返点金额  图表显示 在时间范围内筛选到的类型 分别在返点金额列中分别占的比例,数值。


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

感谢 感谢


--  作者:大红袍
--  发布时间:2015/11/22 21:03:00
--  

你要看得懂代码啊

 

Dim d1 As Date = e.Form.Controls("DateTimePicker5").Value
If d1 = Nothing Then d1 = Date.Today
Dim filter1 As String = ""
If e.Form.Controls("RadioButton1").Checked Then
    filter1 = "出单日期 = #" & d1 & "#"
ElseIf e.Form.Controls("RadioButton2").Checked Then
    Dim w As Integer = d1.DayOfWeek \'算出今天是星期几
    Dim dt1 As Date = d1.AddDays(0 - w) \'获取本周的第一天 ,星期一到星期天
    Dim dt2 As Date = d1.AddDays(6 - w) \'获取本周的最后一天
    filter1 = "出单日期 >= #" & dt1 & "# and 出单日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton3").Checked Then
    Dim y As Integer = d1.Year
    Dim m As Integer = d1.Month
    Dim dt1 As New Date(y, m, 1)
    Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) \'获取本月的最后一天
    filter1 = "出单日期 >= #" & dt1 & "# and 出单日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton4").Checked Then
    Dim y As Integer = d1.Year
    Dim q As Integer = (d1.Month - 1) \\ 3 + 1 \'计算现在是第几个季度
    Dim dt1 As New Date(y, 3 * (q - 1) + 1, 1) \'获取本季度的第一天
    Dim dt2 As New Date(y, 3 * q, Date.DaysInMonth(y,3 * q)) \'获取本季度的最后一天
    filter1 = "出单日期 >= #" & dt1 & "# and 出单日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton5").Checked Then
    Dim y As Integer = d1.Year
    Dim dt1 As New Date(y, 1, 1)
    Dim dt2 As New Date(y, 12, 31)
    filter1 = "出单日期 >= #" & dt1 & "# and 出单日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton6").Checked Then
    filter1 = "1=1"
End If


\'Dim Chart As WinForm.Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
\'Dim series As winform.ChartSeries
\'Chart.SeriesList.Clear() \'清除图表原来的图系
\'Chart.AxisX.ClearValueLabel
\'Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
\'Chart.ChartType = ChartTypeEnum.Bar \'图表类型改为Bar(条形)
Dim c6 As String = e.Form.controls("ComboBox01").Value
Dim ComboBox6 As WinForm.ComboBox = e.Form.Controls("ComboBox6")
Dim tp As DateGroupEnum = 0
Dim g As New GroupTableBuilder("临时统计表", DataTables("表b"))
g.Groups.AddDef(ComboBox6.Text)
g.Totals.AddDef(c6)
\'g.Totals.AddDef("利润和")
\'g.Totals.AddDef("采购合计")
\'g.Totals.AddDef("返点金额")
g.VerticalTotal = True
g.GrandProportion = True
g.filter = filter1 & " and 销售合计  <> 0" \'显示大于0的
g.Build()


\'Dim t As Table = Tables("临时统计表")
\'t.Sort = "日期"
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("临时统计表") \'定义一个变量t引用数据表
Dim sm As Integer = 0
Chart= Forms("统计").Controls("Chart1") \' 引用窗口中的图表
chart.SeriesList.Clear
chart.AxisX.ClearValueLabel
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie \'图表1类型改为Bar(条形)
Dim r As Row

For i As Integer = 0 To t.Rows.Count - 2

        Series = Chart.SeriesList.Add() \'增加一个图系
        Series.Length = 1 \'一个系列只能包括一个值
        Series.Text = t.Rows(i)(ComboBox6.Text) \'设置图系的标题
        Series.Y(0) = t.Rows(i)(c6)\'指定值
        Series.DataLabelText =  format(t.Rows(i)(c6 & "gdr"),"0.00%")\'计算百分比

Next
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South\'图列显示在东方(右方)
\'
\'e.Form.Controls("Label62").Text = Format(Val(DataTables("临时统计表").Compute("sum(订单核算_合计)")),"#.00")


--  作者:yangwenghd
--  发布时间:2015/11/22 23:58:00
--  
Series.DataLabelText =  format(t.Rows(i)(ComboBox01.Text),"0.00%")\'计算百分比
可以是这样吗?
[此贴子已经被作者于2015/11/22 23:59:14编辑过]

--  作者:大红袍
--  发布时间:2015/11/23 9:40:00
--  
以下是引用yangwenghd在2015/11/22 23:58:00的发言:
Series.DataLabelText =  format(t.Rows(i)(ComboBox01.Text),"0.00%")\'计算百分比
可以是这样吗?
[此贴子已经被作者于2015/11/22 23:59:14编辑过]

 

Series.DataLabelText = t.Rows(i)(ComboBox01.Text) & "  " & format(t.Rows(i)(c6 & "gdr"),"0.00%")\'计算百分比