以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 报不到名称为chart1的控件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108591) |
-- 作者:xxcwdlwgo -- 发布时间:2017/10/25 16:48:00 -- 报不到名称为chart1的控件 .NET Framework 版本:2.0.50727.3655 Foxtable 版本:2017.10.16.1 错误所在事件:窗口,车站问题图表,RadioButton1,Click 详细错误信息: Object reference not set to an instance of an object. 报以上错误,但不是每次都报这样的错误 |
-- 作者:有点甜 -- 发布时间:2017/10/25 16:49:00 -- 贴出你写的代码,特别是 chart1 那段。 |
-- 作者:xxcwdlwgo -- 发布时间:2017/10/25 16:57:00 -- 点击关闭时,时有发生找不到名称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 |
-- 作者:有点甜 -- 发布时间:2017/10/25 17:02:00 -- 代码没问题的。你试试卸载重装你的foxtable,同时核对一下你的激活码是否正确。 |
-- 作者:xxcwdlwgo -- 发布时间:2017/10/25 17:29:00 -- 重新安装了20171016版,问题依旧 |
-- 作者:xxcwdlwgo -- 发布时间:2017/10/25 17:48:00 -- 激活码没有问题,安装最新版20171026,可以正常打开使用。 |
-- 作者:有点甜 -- 发布时间:2017/10/25 17:51:00 -- 以下是引用xxcwdlwgo在2017/10/25 17:48:00的发言:
激活码没有问题,安装最新版20171026,可以正常打开使用。
单独做一个例子是否有问题。
把出错的项目或者例子发上来测试一下。 |
-- 作者:xxcwdlwgo -- 发布时间:2017/10/25 18:05:00 -- 将窗口控制框设置为flase,在窗口添加了一个“关闭”按钮,代码设置为:forms("XXX窗口“).close。不再报此错误了。 |
-- 作者:有点甜 -- 发布时间:2017/10/25 18:07:00 -- 以下是引用xxcwdlwgo在2017/10/25 18:05:00的发言:
将窗口控制框设置为flase,在窗口添加了一个“关闭”按钮,代码设置为:forms("XXX窗口“).close。不再报此错误了。
能否重现错误?新做一个例子,也有问题? |
-- 作者:xxcwdlwgo -- 发布时间: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 饼图下方出现一个标题,如图 饼图下方的重叠如何去掉。
|