Foxtable(狐表)用户栏目专家坐堂 → 报不到名称为chart1的控件


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

主题:报不到名称为chart1的控件

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


加好友 发短信
等级:幼狐 帖子:157 积分:2001 威望:0 精华:0 注册:2012/5/29 15:35:00
报不到名称为chart1的控件  发帖心情 Post By:2017/10/25 16:48:00 [只看该作者]

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2017.10.16.1
错误所在事件:窗口,车站问题图表,RadioButton1,Click
详细错误信息:
Object reference not set to an instance of an object.

报以上错误,但不是每次都报这样的错误


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/25 16:49:00 [只看该作者]

 贴出你写的代码,特别是 chart1 那段。

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


加好友 发短信
等级:幼狐 帖子:157 积分:2001 威望:0 精华:0 注册:2012/5/29 15:35:00
  发帖心情 Post By:2017/10/25 16:57:00 [只看该作者]


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

点击关闭时,时有发生找不到名称chart1

Dim ch1 As WinForm.Chart 
ch1 = e.Form.Controls("Chart1")
Dim ch2 As WinForm.Chart 
ch2 = e.Form.Controls("Chart2")
ch1.Visible = True
ch2.Visible = False


Dim ch1 As WinForm.Chart = e.Form.Controls("Chart1")
Dim ch2 As WinForm.Chart = e.Form.Controls("Chart2")
ch1.Visible = False
ch2.Visible = True


Dim rb1 As WinForm.RadioButton = e.Form.Controls("RadioButton1")
Dim rb2 As WinForm.RadioButton = e.Form.Controls("RadioButton2")

Dim fz1 As RibbonMenu.ToggleButton = RibbonTabs("车站问题库").Groups("车站问题统计").Items("站段名称1")
Dim fz2 As RibbonMenu.ToggleButton = RibbonTabs("车站问题库").Groups("车站问题统计").Items("车站类型1")
Dim fz3 As RibbonMenu.ToggleButton = RibbonTabs("车站问题库").Groups("车站问题统计").Items("问题分类1")
Dim fzm As String
fzm = ""
If fz1.Pressed = True
    fzm = fz1.Text
End If
If fz2.Pressed = True
    fzm = fz2.Text
End If
If fz3.Pressed = True
    fzm = fz3.Text
End If



If rb1.Checked = True Then
    Dim Series As WinForm.ChartSeries '定义一个图系变量
    Dim chart As WinForm.Chart
    Dim t As Table = Tables("分组统计表") '定义一个变量t引用数据表
    'Chart= Forms("车站问题图表").Controls("Chart1")' 引用窗口中的图表
    Chart = e.Form.Controls("Chart1")
    Chart.ChartType = ChartTypeEnum.Bar '图表类型该为Bar(条形)
    Chart.SeriesList.Clear() '清除图表原来的图系
    Chart.DataSource ="分组统计表" '设置绑定表
    Series = Chart.SeriesList.Add() '增加一个图系
    ' Series.X.DataField ="问题分类" 'X轴绑定到产品列
    Series.X.DataField = fzm 'X轴绑定到产品列
    
    Series.Y.DataField ="数量" 'Y轴绑定到数量列
    Chart.AxisX.AnnoRotation = - 45
    Series.DataLabelText = "{#YVAL}"
    Chart.LegendVisible = False '显示图列
    
Else
    Dim Chart As WinForm.Chart '定义一个图表变量
    Dim Series As WinForm.ChartSeries '定义一个图系变量
    Dim t As Table = Tables("分组统计表") '定义一个变量t引用数据表
    Dim sm As Integer = t.Compute("Sum(数量)") '计算总数量
    'Chart= Forms("车站问题图表").Controls("Chart2") ' 引用窗口中的图表
    Chart = e.Form.Controls("Chart2")
    Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
    Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
    Chart.SeriesList.Clear() '清除图表原来的图系
    
    For Each r As Row In t.Rows
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Length = 1 '一个系列只能包括一个值
        'Series.Text = r("问题分类") & "(" & r("数量") & ")" '设置图系的标题
        Series.Text = r(fzm) & "(" & r("数量") & ")" '设置图系的标题
        Series.Y(0) = r("数量") '指定值
        Series.DataLabelText = Math.Round(r("数量")*100/sm,2) & "%" '计算百分比
    Next
    Chart.LegendVisible = True '显示图列
    Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)
    
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/25 17:02:00 [只看该作者]

 代码没问题的。你试试卸载重装你的foxtable,同时核对一下你的激活码是否正确。


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


加好友 发短信
等级:幼狐 帖子:157 积分:2001 威望:0 精华:0 注册:2012/5/29 15:35:00
  发帖心情 Post By:2017/10/25 17:29:00 [只看该作者]

重新安装了20171016版,问题依旧

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


加好友 发短信
等级:幼狐 帖子:157 积分:2001 威望:0 精华:0 注册:2012/5/29 15:35:00
  发帖心情 Post By:2017/10/25 17:48:00 [只看该作者]

激活码没有问题,安装最新版20171026,可以正常打开使用。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/25 17:51:00 [只看该作者]

以下是引用xxcwdlwgo在2017/10/25 17:48:00的发言:
激活码没有问题,安装最新版20171026,可以正常打开使用。

 

单独做一个例子是否有问题。

 

把出错的项目或者例子发上来测试一下。


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


加好友 发短信
等级:幼狐 帖子:157 积分:2001 威望:0 精华:0 注册:2012/5/29 15:35:00
  发帖心情 Post By:2017/10/25 18:05:00 [只看该作者]

将窗口控制框设置为flase,在窗口添加了一个“关闭”按钮,代码设置为:forms("XXX窗口“).close。不再报此错误了。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/25 18:07:00 [只看该作者]

以下是引用xxcwdlwgo在2017/10/25 18:05:00的发言:
将窗口控制框设置为flase,在窗口添加了一个“关闭”按钮,代码设置为:forms("XXX窗口“).close。不再报此错误了。

 

能否重现错误?新做一个例子,也有问题?


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


加好友 发短信
等级:幼狐 帖子:157 积分:2001 威望:0 精华:0 注册:2012/5/29 15:35:00
  发帖心情 Post By:2017/10/26 8:24:00 [只看该作者]

重新做了一个窗口,未发现上述问题。
但有一个新问题:
同一个窗口,用了一个chart,添加了两个RadioButton1,RadioButton2,代码如下:
RadioButton1代码:
Dim fz1 As RibbonMenu.ToggleButton = RibbonTabs("车站问题库").Groups("车站问题统计").Items("站段名称1")
Dim fz2 As RibbonMenu.ToggleButton = RibbonTabs("车站问题库").Groups("车站问题统计").Items("车站类型1")
Dim fz3 As RibbonMenu.ToggleButton = RibbonTabs("车站问题库").Groups("车站问题统计").Items("问题分类1")
Dim fzm As String
fzm = ""
If fz1.Pressed = True
    fzm = fz1.Text
End If
If fz2.Pressed = True
    fzm = fz2.Text
End If
If fz3.Pressed = True
    fzm = fz3.Text
End If

Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim chart As WinForm.Chart
Dim t As Table = Tables("分组统计表") '定义一个变量t引用数据表
'Chart= Forms("车站问题图表").Controls("Chart1")' 引用窗口中的图表
Chart = e.Form.Controls("Chart1")
Chart.ChartType = ChartTypeEnum.Bar '图表类型该为Bar(条形)
Chart.DataSource ="分组统计表" '设置绑定表
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '增加一个图系
' Series.X.DataField ="问题分类" 'X轴绑定到产品列
Series.X.DataField = fzm 'X轴绑定到产品列
Series.Y.DataField ="数量" 'Y轴绑定到数量列
Chart.AxisX.AnnoRotation = - 45
Series.DataLabelText = "{#YVAL}"
Chart.LegendVisible = False '显示图列

RadioButton2代码:
Dim fz1 As RibbonMenu.ToggleButton = RibbonTabs("车站问题库").Groups("车站问题统计").Items("站段名称1")
Dim fz2 As RibbonMenu.ToggleButton = RibbonTabs("车站问题库").Groups("车站问题统计").Items("车站类型1")
Dim fz3 As RibbonMenu.ToggleButton = RibbonTabs("车站问题库").Groups("车站问题统计").Items("问题分类1")
Dim fzm As String
fzm = ""
If fz1.Pressed = True
    fzm = fz1.Text
End If
If fz2.Pressed = True
    fzm = fz2.Text
End If
If fz3.Pressed = True
    fzm = fz3.Text
End If



Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("分组统计表") '定义一个变量t引用数据表
Dim sm As Integer = t.Compute("Sum(数量)") '计算总数量
'Chart= Forms("车站问题图表").Controls("Chart2") ' 引用窗口中的图表
Chart = e.Form.Controls("Chart1")
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
Chart.SeriesList.Clear() '清除图表原来的图系

For Each r As Row In t.Rows
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = 1 '一个系列只能包括一个值
    'Series.Text = r("问题分类") & "(" & r("数量") & ")" '设置图系的标题
    Series.Text = r(fzm) & "(" & r("数量") & ")" '设置图系的标题
    Series.Y(0) = r("数量") '指定值
    Series.DataLabelText = Math.Round(r("数量")*100/sm,2) & "%" '计算百分比
Next
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.East '图列显示在东方(右方)

当交替点击RadioButton1,RadioButton2
饼图下方出现一个标题,如图

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20171026082007.jpg
图片点击可在新窗口打开查看
饼图下方的重叠如何去掉。


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