MS chart 双Y轴错误

yanyl2001 2015-02-11 06:32:35
设置了2个Y轴,都是线形,2列数据+日期分别 绑定2个Y轴和一个X轴。其中第二Y轴的数据列,有的时候,会全部是null。就会报错

错误内容为 :图表区轴 尚未指定轴最小值和最大值


网上还查不到这种情况



如果2个数据列,都是null,不会报错。
...全文
577 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanyl2001 2015-02-12
  • 打赏
  • 举报
回复
引用 5 楼 Z65443344 的回复:
做个判断,如果是null,给个默认值,比如0 你所有数据都传null有任何意义?
从数据库读出来的,没有数据就不画呗,有数据就画。谁说没有意义。 一个数据集读出来10列,形成10条曲线。你都要每列都判断是不是空值吗?
於黾 2015-02-12
  • 打赏
  • 举报
回复
要么就判断如果一组数据全部是null,就不要把它给曲线显示了
於黾 2015-02-12
  • 打赏
  • 举报
回复
做个判断,如果是null,给个默认值,比如0 你所有数据都传null有任何意义?
yanyl2001 2015-02-12
  • 打赏
  • 举报
回复
引用 1 楼 wind_cloud2011 的回复:
数据怎么有空?应确保有数据
我在数据库中查到的,有时候没有是null,有时候是有数据的。没有办法啊。。
引用 2 楼 wind_cloud2011 的回复:

            chart1.DataSource = GetData();
            // Set series members names for the X and Y values
            chart1.Series["Series1"].XValueMember = "Time";
            chart1.Series["Series1"].YValueMembers = "City";

            chart1.Series["Series2"].XValueMember = "Time";
            chart1.Series["Series2"].YValueMembers = "Count";
            //第一個Series使用Primary          
................................
乱贴代码这位,都有数据的,我当然知道。都没有数据也不报错的,但一条有数一条没有数据才报错那
引用 3 楼 wyd1520 的回复:
图表区轴 尚未指定轴最小值和最大值,就是让你设置他最小值与最大值呀,
我不能设定最小值和最大值,我要根据库里的数据自动形成最大最小值啊 所以我设置成auto
本拉灯 2015-02-12
  • 打赏
  • 举报
回复
引用 7 楼 yanyl2001 的回复:
[quote=引用 5 楼 Z65443344 的回复:] 做个判断,如果是null,给个默认值,比如0 你所有数据都传null有任何意义?
从数据库读出来的,没有数据就不画呗,有数据就画。谁说没有意义。 一个数据集读出来10列,形成10条曲线。你都要每列都判断是不是空值吗?[/quote] 你要弄清楚。如果值是NULL,就会造成 双Y轴的另一个轴,无法绘制他的最大值,与最小值,没有这两个区间值,那怎么能画出Y轴呢。
本拉灯 2015-02-11
  • 打赏
  • 举报
回复
图表区轴 尚未指定轴最小值和最大值,就是让你设置他最小值与最大值呀,
wind_cloud2011 2015-02-11
  • 打赏
  • 举报
回复


            chart1.DataSource = GetData();
            // Set series members names for the X and Y values
            chart1.Series["Series1"].XValueMember = "Time";
            chart1.Series["Series1"].YValueMembers = "City";

            chart1.Series["Series2"].XValueMember = "Time";
            chart1.Series["Series2"].YValueMembers = "Count";
            //第一個Series使用Primary
            chart1.Series[0].YAxisType = AxisType.Primary;
            chart1.Series[0].XAxisType = AxisType.Primary;
            //第二個Series使用Secondary
            chart1.Series[1].YAxisType = AxisType.Secondary;

            // Set series chart type
            chart1.Series["Series1"].ChartType = SeriesChartType.Line;
            chart1.Series["Series2"].ChartType = SeriesChartType.Spline;
            //// Set point labels
            chart1.Series["Series1"].IsValueShownAsLabel = true;
            chart1.Series["Series2"].IsValueShownAsLabel = true;
            //chart1.Series[1].XAxisType = AxisType.Secondary;
            // Data bind to the selected data source
            chart1.DataBind();


  private DataTable GetData()
        {
            DataTable tableInfo = new DataTable();

            DataColumn dctime = new DataColumn("Time", Type.GetType("System.String"));
            DataColumn dcCity = new DataColumn("City", Type.GetType("System.String"));
            DataColumn dcCount = new DataColumn("Count", Type.GetType("System.Int32"));
            tableInfo.Columns.Add(dctime);
            tableInfo.Columns.Add(dcCity);
            tableInfo.Columns.Add(dcCount);
            DataRow dr = tableInfo.NewRow();
            dr["Time"] = "1:00";
            dr["City"] = "10";
            dr["Count"] = "15";
            tableInfo.Rows.Add(dr);
            DataRow dr1 = tableInfo.NewRow();
            dr1["Time"] = "2:00";
            dr1["City"] = "12";
            dr1["Count"] = "19";
            tableInfo.Rows.Add(dr1);
            DataRow dr2 = tableInfo.NewRow();
            dr2["Time"] = "3:00";
            dr2["City"] = "13";
            dr2["Count"] = "25";
            tableInfo.Rows.Add(dr2);
            DataRow dr3 = tableInfo.NewRow();
            dr3["Time"] = "4:00";
            dr3["City"] = "14";
            dr3["Count"] = "10";
            tableInfo.Rows.Add(dr3);

            DataRow dr4 = tableInfo.NewRow();
            dr4["Time"] = "5:00";
            dr4["City"] = "15";
            dr4["Count"] = "11";
            tableInfo.Rows.Add(dr4);

            DataRow dr5 = tableInfo.NewRow();
            dr5["Time"] = "6:00";
            dr5["City"] = "16";
            dr5["Count"] = "17";
            tableInfo.Rows.Add(dr5);

            DataRow dr6 = tableInfo.NewRow();
            dr6["Time"] = "7:00";
            dr6["City"] = "17";
            dr6["Count"] = "20";
            tableInfo.Rows.Add(dr6);

            DataRow dr7 = tableInfo.NewRow();
            dr7["Time"] = "8:00";
            dr7["City"] = "12";
            dr7["Count"] = "13";
            tableInfo.Rows.Add(dr7);
            return tableInfo;
        }

wind_cloud2011 2015-02-11
  • 打赏
  • 举报
回复
数据怎么有空?应确保有数据

4,819

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧