Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共16 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:统计表单元格drawcell绘图不执行

1楼
weibu 发表于:2022/10/21 10:16:00
老师我做了一个按钮,生成统计表如下,发布后单击按钮,生成统计表没问题,但没有执行绘图操作,为什么?
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
2楼
有点蓝 发表于:2022/10/21 10:22:00
没有开启全局表事件

按钮最后加上
DataTables("mframe").GlobalHandler.DrawCell=True

3楼
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

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

我想隐藏其中一例,为啥生成的表只有“走势”列显示,其他都隐藏了。
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

4楼
有点蓝 发表于:2022/10/21 11:16:00
看帮助GetValues是怎么样的:http://www.foxtable.com/webhelp/topics/2747.htm

SetColVisibleWidth的问题:http://www.foxtable.com/webhelp/topics/1775.htm
5楼
weibu 发表于:2022/10/21 14:54:00
老师咱们软件能不能实现这个,就是有两列数据,一列做为x轴,一列做y轴。共10行。每行数据做个点。总共在图上是10个点
6楼
有点蓝 发表于:2022/10/21 15:01:00
图表?http://www.foxtable.com/webhelp/topics/0967.htm
7楼
weibu 发表于:2022/10/21 15:05:00
不要中间连线,仅显示点?能不能在单元格绘制
8楼
有点蓝 发表于:2022/10/21 15:21:00
可以去掉图表的连线的,比如把连线设置为白色:http://www.foxtable.com/webhelp/topics/1039.htm

单元格可以直接输入一个黑点,不需要绘制
[此贴子已经被作者于2022/10/21 15:21:34编辑过]
9楼
weibu 发表于:2022/10/22 9:37:00

Dim Chart As WinForm.Chart '定义一个图表变量
Dim
Series As WinForm.ChartSeries '定义一个图系变量
Chart= Forms(
"窗口1").Controls("Chart1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bubble
Chart.SeriesList.Clear()
'清除图表原来的图系
Series = Chart.SeriesList.Add()
'增加一个图系
Series.Length =
10 '图系包括10个数据点
Series.MarkShape= MarkShapeEnum.Dot
'指定数据标记为圆点。
Series.MarkColor = Color.Red
'指定数据标记的颜色
Series.LinePattern = LinePatternEnum.None
'不显示数据点之间的联线
For
i As integer = 0 to 9 '指定每个数据点的位置
    Series.X(i) = i
'指定水平坐标
    Series.Y(i) = i + Rand.
Next(5) '垂直坐标用随机数生成
    Series.Y1(i) = Rand.
Next(5) '老师这个我想修改成:跟进做个坐标点相同的个数来绘制泡泡的大小。如这个(x,y)相同的坐标有三个,泡泡大小就是3,;有一个,泡泡大小就是1

                   这个逻辑如何实现

10楼
有点蓝 发表于:2022/10/22 9:47:00
没有办法
共16 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04199 s, 2 queries.