找回密码
 立即注册

QQ登录

只需一步,快速开始

chinaxiaokang

初级会员

2

主题

14

帖子

200

积分

初级会员

积分
200

活字格认证

最新发帖
chinaxiaokang
初级会员   /  发表于:2012-6-18 20:20  /   查看:7750  /  回复:1
曲线图,有两条曲线,如何在代码里绑定X轴和Y轴的值?因为数据是需要经过业务处理的,所以不能直接sql绑定,会给他数据集,在表格中时,每一个字段都可以绑定数据集中的一个数据,但曲线图中没有找到呀。

之前用的一款控件是这样写的:
  1.                 dc_line.Series["油量"].Points.Clear();
  2.                 dc_line.Series["速度"].Points.Clear();
  3.                 dc_line.Series["里程"].Points.Clear();
  4.                 foreach (DataRow dr in ds_oil.oil.Rows)
  5.                 {
  6.                     if (m_bShowOilLine)
  7.                     {
  8.                         dc_line.Series["油量"].Points.AddY(dr["Oil"]);
  9.                         dc_line.Series["油量"].ToolTip = "#VALY";
  10.                     }
  11.                     if (m_bShowVelocityLine)
  12.                     {
  13.                         dc_line.Series["速度"].Points.AddXY(dr["Time"], Convert.ToDouble(dr["Velocity"]));
  14.                         dc_line.Series["速度"].ToolTip = "#VALY";
  15.                     }
  16.                     if (m_bShowMileLine)
  17.                     {
  18.                         dc_line.Series["里程"].Points.AddY(Convert.ToDouble(dr["Mile"]));
  19.                         dc_line.Series["里程"].ToolTip = "#VALY";
  20.                     }
  21.                 }

  22.                 if (m_bShowMileLine) dc_line.Series["里程"].ShowLabelAsValue = m_bShowInfomation;
  23.                 if (m_bShowVelocityLine) dc_line.Series["速度"].ShowLabelAsValue = m_bShowInfomation;
  24.                 if (m_bShowOilLine) dc_line.Series["油量"].ShowLabelAsValue = m_bShowInfomation;

  25.                 string s_Title = "";
  26.                 if (m_bShowOilLine) s_Title = " 油量";
  27.                 if (m_bShowVelocityLine) s_Title += " 速度";
  28.                 if (m_bShowMileLine) s_Title += " 里程";
  29.                 if (!m_slbltitle.Equals(""))
  30.                     dc_title.Text = m_slbltitle;                else
  31.                     dc_title.Text = "车辆" + s_Title + "线性表";
  32.                 if (m_sQueryMode == "DisplayName")
  33.                     title2.Text = "车牌号码:" + m_sDisplayName;
  34.                 else
  35.                     title2.Text = "自 编 号:" + m_sOwnNo;
  36.                 title2.Text += "       采样时间间隔:" + m_iTimeinterval.ToString() + " 分钟       数据时间:" + m_sBeginTime.ToString() + " - " + m_sEndTime.ToString();
  37.                 dc_line.ChartAreas["Default"].AxisX.ScrollBar.PositionInside = m_bScrollbars;
  38.                 dc_line.ChartAreas["Default"].AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount;    //X轴密集显示
  39.                 dc_line.ChartAreas["Default"].AxisX.ScrollBar.Size = 15;
复制代码


但不知道activereports曲线图如何绑定曲线数据。
另外曲线图支持放大缩小吗?即对曲线图上的某一段放大等。

有完整的例子吗?页面上是不是这样写的:
  1. <ActiveReportsWeb:WebViewer ID="WebViewer1" runat="server" Height="1050px"
  2.                     Width="800px" ViewerType="RawHtml" Visible="False">
  3.                 </ActiveReportsWeb:WebViewer>
复制代码



设计了模版文件 NewActiveReport1.cs


我现在用的是ActiveReports3  vs2008 win7 服务器是win 2008server     主要要问的是如何代码绑定X Y 轴数据,和如何实现缩放。

1 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-6-19 17:17:00
沙发
回复 1楼chinaxiaokang的帖子

问题一:
给 Chart 绑定数据源的代码如下,
可以参考
1.帮助文档 chartdata 章节:
2.Demo 路径:\Documents\GrapeCity\ActiveReports 6\Samples\CSharp\Charting

  1. // create the series
  2. DataDynamics.ActiveReports.Chart.Series s = new DataDynamics.ActiveReports.Chart.Series();
  3. string m_cnnString = &quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Northwind.mdb;Persist Security Info=False&quot;;   
  4. System.Data.OleDb.OleDbConnection m_cnn = new System.Data.OleDb.OleDbConnection(m_cnnString);      
  5. System.Data.OleDb.OleDbDataAdapter oDBAdapter;

  6. // create the dataset
  7. System.Data.DataSet oDS;
  8. oDBAdapter = new System.Data.OleDb.OleDbDataAdapter(&quot;SELECT * from Orders WHERE OrderDate &lt; #08/17/1994#&quot;, m_cnnString);
  9. oDS = new System.Data.DataSet();
  10. oDBAdapter.Fill(oDS, &quot;Orders&quot;);

  11. // set the DataSource, ValueMembersY, and ValueMembersX properties
  12. this.chartControl1.DataSource = oDS;
  13. this.chartControl1.Series.Add(s);
  14. this.chartControl1.Series[0].ValueMembersY = oDS.Tables[&quot;Orders&quot;].Columns[7].ColumnName;
  15. this.chartControl1.Series[0].ValueMemberX = oDS.Tables[&quot;Orders&quot;].Columns[8].ColumnName;
复制代码

问题二:无法支持放大局部区域功能。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部