using C1.Web.C1WebChart;
using C1.Web.C1WebChartBase;
using C1.Win.C1Chart;
2.在webconfig中<system.web>下添加
<httpHandlers>
<add verb="*" path="c1chartimage.aspx"
type="C1.Web.C1WebChart.ImageHttpHandler,C1.Web.C1WebChart"/>
</httpHandlers>
3.右击WebChart控件,属性ImageRenderMethod选择httpHandlers
1.Configuring the Chart
图表配置
当添加控件后,接着就利用内置的向导自定义外表.右击chart选择"Chart Wizard".你可以选择你受需要的图
表类型.
你可以通过属性设置图表的BackColor和ChartStyle
图表向导和窗口属性非常强大,可以在不需要写代码的情况下设置各种图表的属性.你可以使用图表向导组装
图表数据,但是很少适用于实际的情况(量级数和点的个数等)
当报表配置好后,你可以保存为一个文件.这样的话你可以在其他图表中重用. 右击图表选择 “Save Chart”
.你可以右击选择“Load Chart”进行重用.你可以预先定义图表模板.你也可以使用LoadChartFromFile方法动态加载.
2.Adding User Interaction With ImageAreas
添加用户图像区域交互
C1WebChart and C1WebChart3D允许你关联工具提示和连接图表元素,所以图表响应鼠标事件.这些是利用客户端处理HTML图片映象
图片映象在ImageAreas属性中定义,它是一个结合了tooltips and HRefs图表元素的集合.tooltips用来属性悬停在图表上显示的提示,HRefs用来设置点击图表元素时的触发的事件
编辑窗体属性的ImageAreas集合.点击按钮弹出设置界面
例如:当你选择“ChartData”并设置Tooltip属性为“{#YVAL:c}”.
3.Adding Data to the Chart
添加数据到图表
最后的步骤添加数据到你所要显示的图表,这一步你需要撰写代码
在绝大多数的应用程序中,数据时来之ADO.NET的DataSet,通常结合转换:过滤,排序,总结.也有可能数据所来自其他的数据源,例如数组和自定义数据结构.不管数据是来自那里,你都可以使用ChartDataSeries类中的方法添加数据
例如,从DataTable绑定数据到图表
private void Page_Load(object sender, EventArgs e)
{
// get dataset (from db or cache)
DataSet ds = GetDataSet();
// filter the data
DataView dv = new DataView(ds.Tables["Sales"]);
dv.RowFilter = "ProductSales >= 40000";
dv.Sort = "ProductSales";
// create an array of data points
PointF[] data = new PointF[dv.Count]
for (int i = 0; i < data.Length; i++)
{
float y = float.Parse(dv[i]["ProductSales"].ToString());
data[i] = new PointF(i, y);
}
// populate chart data points
ChartDataSeries series = _c1webChart.ChartGroups[0].ChartData.SeriesList[0];
series.PointData.CopyDataIn(data);
}
ow C1WebChart Handles Images
C1WebChart处理图片的方式
当你添加报表到页面,C1WebChart在HTML流中插入了一个图片流,图片是通过<img>标签描述的,它是通过URL的形式关联到实际的图片的.C1WebChart负责创建图表的URL和内容过程如图所示
左边的是一个浏览器,呈现ASP页面.浏览其需要从服务器(myWebPage.aspx)获取页面内容并接收HTML流,这个HTML包含类一个图表(<img>标签),这个标签源是次级URL(c1ChartImage.aspx),作为服务器转换为呈现在页面的图片流.
这个标签的Source属性可以是一个临时图片文件,HttpHandler,或者是次级.aspx页面,这个是有 ImageRenderMethod 属性所决定的
这个source属性也包含了存在图表属性中的参数,因此URL可以创建图表图像.这些数据可以存储在临时文件中,或者Session标量,或者缓存中.ImageTransferMethod属性决定
则默认的情况下,C1WebChart在Session变量中存储图表数据.在某些情况下,你可以设置为缓存或者是临时文件中.或者选择都有其优点和缺点,取决于服务器(set up and on the nature of the application)
ImageRenderMethod属性具有从自动(HttpHandler, File)到手动变动的参数.
最佳的ImageRenderMethod和ImageTransferMethod属性结合,取决于复杂的和多样的图表传递,站点通信和服务器配置.
2.Working with Two URLs
为了在客户端的浏览器中呈现图表图像,C1WebChart将必须至少处理俩个URL’s地址.主URL(the main page)是用来标识创建<img>标签的地方,这个可以收集信息输入控制通道,排版图表的呈现
次级URL用来获取实际的图片图像(jepg,png,gif).
.aspx页面确认主URL
<img src='second-url' />
除了手动呈现方法以外,次级URL访问图表数据为
<img src='second URL handles a request for an image' />
这些处理或者到image file, HTTPHandler路径, 或者是另外一个.aspx页面的流.ImageRenderMethod 决定