以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 统计表单元格drawcell绘图不执行 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=180983) |
-- 作者:weibu -- 发布时间:2022/10/21 10:16:00 -- 统计表单元格drawcell绘图不执行 老师我做了一个按钮,生成统计表如下,发布后单击按钮,生成统计表没问题,但没有执行绘图操作,为什么? Dim dtb As New DataTableBuilder("捷径优化分析") dtb.AddDef("kmitemid", Gettype(String), 32) dtb.AddDef("结果", Gettype(String), 32) dtb.AddDef("过程", GetType(String), 32) dtb.AddDef("排序", GetType(Integer)) For Each v As String In DataTables("mframe").GetValues("lage") dtb.AddDef(v, Gettype(Double)) Next dtb.AddDef("走势", GetType(String), 32) ’这个是用来绘图的单元格 dtb.Build() For Each v As String In DataTables("mframe").GetValues("kmitemid") Dim dr1 As DataRow = DataTables("捷径优化分析").AddNew() dr1("kmitemid") = v For Each dr2 As DataRow In DataTables("mframe").Select("kmitemid = \'" & v & "\'") dr1("结果") = dr2("fruit") dr1("过程") = dr2("work") dr1("排序") = dr2("orderno") dr1(dr2("lage")) = dr2("svalue") Next Next Tables("捷径优化分析").Sort = "排序 DESC" Tables("捷径优化分析").AutoSizeCols() \'Tables("捷径优化分析").SetColVisibleWidth("走势|290") MainTable = Tables("捷径优化分析") 全局表事件drawcell代码: Select Case e.Table.Name Case "捷径优化分析" If e.Col.Name = "走势" Then For Each v As String In DataTables("mframe").GetValues("lage") e.Chart.AddValues(e.Row(v)) Next e.Chart.ChartType = 1 e.Chart.SeriesColor = Color.CadetBlue e.Chart.ShowHigh = True e.Chart.HighMarkerColor = Color.Orange e.DrawChart() End If End Select |
-- 作者:有点蓝 -- 发布时间:2022/10/21 10:22:00 -- 没有开启全局表事件 按钮最后加上 DataTables("mframe").GlobalHandler.DrawCell=True |
-- 作者:weibu -- 发布时间:2022/10/21 11:13:00 -- 老师这个报错为啥?全局表事件:doubleclick 代码:
Select Case e.Table.Name Case "捷径优化分析" If e.Col.Name = "走势" Then e.Cancel = True Dim cns() As String = DataTables("mframe").GetValues("lage") Dim idx As Integer = e.Table.MouseChartIndex \'获取鼠标位置的图柱序号 If idx >= 0 Then Dim cn As String = cns(idx) e.Table.Select(e.Table.RowSel, e.Table.Cols(cn).Index) End If End If End Select 我想隐藏其中一例,为啥生成的表只有“走势”列显示,其他都隐藏了。 Dim dtb As New DataTableBuilder("捷径优化分析") dtb.AddDef("kmitemid", GetType(String), 32) dtb.AddDef("结果", GetType(String), 32) dtb.AddDef("过程", GetType(String), 32) dtb.AddDef("排序", GetType(Integer)) For Each v As String In DataTables("mframe").GetValues("lage") dtb.AddDef(v, Gettype(Double)) Next dtb.AddDef("走势", GetType(String), 32) dtb.Build() For Each v As String In DataTables("mframe").GetValues("kmitemid") Dim dr1 As DataRow = DataTables("捷径优化分析").AddNew() dr1("kmitemid") = v For Each dr2 As DataRow In DataTables("mframe").Select("kmitemid = \'" & v & "\'") dr1("结果") = dr2("fruit") dr1("过程") = dr2("work") dr1("排序") = dr2("orderno") dr1(dr2("lage")) = dr2("svalue") Next Next Tables("捷径优化分析").Sort = "排序" Tables("捷径优化分析").AutoSizeCols() Tables("捷径优化分析").DefaultRowHeight = 36 Tables("捷径优化分析").SetColVisibleWidth("走势|290") Tables("捷径优化分析").Cols("kmitemid").Visible = False 想隐藏kmitemid这个列 DataTables("捷径优化分析").DataCols("走势").AllowEdit = False MainTable = Tables("捷径优化分析") DataTables("捷径优化分析").GlobalHandler.DrawCell = True DataTables("捷径优化分析").GlobalHandler.DoubleClick = True |
-- 作者:有点蓝 -- 发布时间:2022/10/21 11:16:00 -- 看帮助GetValues是怎么样的:http://www.foxtable.com/webhelp/topics/2747.htm SetColVisibleWidth的问题:http://www.foxtable.com/webhelp/topics/1775.htm
|
-- 作者:weibu -- 发布时间:2022/10/21 14:54:00 -- 老师咱们软件能不能实现这个,就是有两列数据,一列做为x轴,一列做y轴。共10行。每行数据做个点。总共在图上是10个点 |
-- 作者:有点蓝 -- 发布时间:2022/10/21 15:01:00 -- 图表?http://www.foxtable.com/webhelp/topics/0967.htm |
-- 作者:weibu -- 发布时间:2022/10/21 15:05:00 -- 不要中间连线,仅显示点?能不能在单元格绘制 |
-- 作者:有点蓝 -- 发布时间:2022/10/21 15:21:00 -- 可以去掉图表的连线的,比如把连线设置为白色:http://www.foxtable.com/webhelp/topics/1039.htm 单元格可以直接输入一个黑点●,不需要绘制
[此贴子已经被作者于2022/10/21 15:21:34编辑过]
|
-- 作者:weibu -- 发布时间:2022/10/22 9:37:00 -- Dim Chart As WinForm.Chart \'定义一个图表变量 这个逻辑如何实现 |
-- 作者:有点蓝 -- 发布时间:2022/10/22 9:47:00 -- 没有办法 |