Foxtable(狐表)用户栏目专家坐堂 → 统计表单元格drawcell绘图不执行


  共有7015人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
weibu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:659 积分:5357 威望:0 精华:0 注册:2018/5/19 22:27:00
统计表单元格drawcell绘图不执行  发帖心情 Post By: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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/21 10:22:00 [只看该作者]

没有开启全局表事件

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


 回到顶部
帅哥哟,离线,有人找我吗?
weibu
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:659 积分:5357 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By: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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/21 11:16:00 [只看该作者]

看帮助GetValues是怎么样的:http://www.foxtable.com/webhelp/topics/2747.htm


 回到顶部
帅哥哟,离线,有人找我吗?
weibu
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:659 积分:5357 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By:2022/10/21 14:54:00 [只看该作者]

老师咱们软件能不能实现这个,就是有两列数据,一列做为x轴,一列做y轴。共10行。每行数据做个点。总共在图上是10个点

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/21 15:01:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
weibu
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:659 积分:5357 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By:2022/10/21 15:05:00 [只看该作者]

不要中间连线,仅显示点?能不能在单元格绘制

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/21 15:21:00 [只看该作者]

可以去掉图表的连线的,比如把连线设置为白色:http://www.foxtable.com/webhelp/topics/1039.htm

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

 回到顶部
帅哥哟,离线,有人找我吗?
weibu
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:659 积分:5357 威望:0 精华:0 注册:2018/5/19 22:27:00
  发帖心情 Post By: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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/22 9:47:00 [只看该作者]

没有办法

 回到顶部
总数 16 1 2 下一页