以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]chart编写求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=90271) |
||||
-- 作者:zj6430 -- 发布时间:2016/9/8 16:47:00 -- [求助]chart编写求助 我现在有表格如下: 表A:绩效等级表 工号 一月 二月 三月...........十二月 11 A B C A 12 B C A C 13 A+ A B C 14 C B B B 15 A D B B 16 D A B A
表B:绩效积分表 工号 一月 二月 三月...........十二月 11 2.8 2.5 2.0 2.8 12 2.5 2.0 2.8 2.0 13 3 2.8 2.5 2.0 14 2.0 2.5 2.5 2.5 15 2.8 0 2.5 2.5 16 0 2.8 2.5 2.8
表C:部门均分表 部门 一月均值 二月均值 三月均值 ......十二月均值 A 2.5 2.48 3 2.8 B 2.0 2.35 2.42 2.35 C 2.52 2.49 2.38 2.32 现在图表如下:
工号: 工号搜索
chart1 查询按钮
清除查询
chart2
现在希望通过工号搜索到具体人员,chart1绘出改名员工12各月的绩效情况,线图 chart2同时绘出该员工个人12各月绩效线图和所在二级部门对应12各月均值的线图
该怎么编码,从帮助文件没有合适的代码,楼主指教!!! |
||||
-- 作者:zj6430 -- 发布时间:2016/9/8 16:48:00 -- 忘了说了CHART1要求是线图,但是各个数据点显示的是A+/A/B/C/D等级信息,而不是绩效分值信息 |
||||
-- 作者:有点蓝 -- 发布时间:2016/9/8 17:17:00 -- 上传有数据的例子测试 |
||||
-- 作者:zj6430 -- 发布时间:2016/9/9 10:29:00 -- 楼主上传在附件中,附件中有窗口希望通过窗口搜索人员,chart1反应该员工本年度绩效情况(线图),chart2反应该员工各月绩效情况和所在二级部门的绩效均值情况(线图),请帮忙看看怎么才能实现?
|
||||
-- 作者:有点蓝 -- 发布时间:2016/9/9 11:59:00 --
|
||||
-- 作者:zj6430 -- 发布时间:2016/9/9 22:19:00 -- 楼主我看了,跟我所想的还有一定差距,在CHART2中要存在两个图系,第一个是通过查询在绩效积分表中引用的被查询人的绩效积分曲线,第二个是所在部门的均值曲线 |
||||
-- 作者:有点蓝 -- 发布时间:2016/9/10 9:05:00 -- Dim dict As new Dictionary(of String,Integer) dict.Add("A",1) dict.Add("B",2) dict.Add("C",3) dict.Add("D",4) Dim yue() As String = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"} Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim dr As DataRow = DataTables("基层人员年度绩效汇总审批表").Find("工号=\'" & e.Form.Controls("TextBox1").Text & "\'") If dr IsNot Nothing Then Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = 12 \'图系的数据点数等于表的行数 Chart.AxisY.Max = 4 Chart.AxisY.MinorTick = False Chart.AxisY.AnnoWithLabels = True For i As Integer = 0 To 11 \'指定每个数据点的位置 Series.X(i) = i+1 \'指定水平坐标 If dr.IsNull(yue(i)) = False Then Series.Y(i) = dict(dr(yue(i))) \'指定垂直坐标 Next Dim j As Integer = 1 For Each key As String In dict.Keys Chart.AxisY.SetValueLabel(j, key) j += 1 Next Dim dr2 As DataRow = DataTables("部门均值统计表").Find("二级部门=\'" & dr("二级部门")& "\'") If dr2 IsNot Nothing Then Chart= e.Form.Controls("Chart2") \' 引用窗口中的图表 Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = 12 \'图系的数据点数等于表的行数 Chart.AxisY.Max = 4 Chart.AxisY.MinorTick = False Chart.AxisY.AnnoWithLabels = True For i As Integer = 0 To 11 \'指定每个数据点的位置 Series.X(i) = i+1 \'指定水平坐标 If dr.IsNull(yue(i)) = False Then Series.Y(i) = dict(dr(yue(i))) \'指定垂直坐标 Next j=1 For Each key As String In dict.Keys Chart.AxisY.SetValueLabel(j, key) j += 1 Next Chart.SeriesList2.Clear() Dim Series2 As WinForm.ChartSeries = Chart.SeriesList2.Add() \'增加一个图系 Series2.Length = 12 For i As Integer = 0 To 11 \'指定每个数据点的位置 Series2.X(i) = i+1 \'指定水平坐标 Series2.Y(i) = dr2(yue(i) & "_均值") \'指定垂直坐标 Next End If End If
|