ZenosZeng 发表于 2012-10-31 19:13:00

在TX Text Control X8中插入图表控件

最新的 TX Text Control .NET for Windows Forms X8 控件支持插入一个DataVisualization.Charting.Chart类型的图表控件,DataVisualization.Charting.Chart是 .NET Framework 4.0中的一部分功能。插入的图表控件可以像图片、文本框、或者单个字符一样就行放置。

新增加的 ChartFrame 类型用于处理文档中的图表对象,ChartFrame 总是和一个图表控件相关联,并用来处理图表的外观和数据。




本文主要实现的功能是将下列XML数据以图表的形式显示在文档中:
<?xml version="1.0" encoding="utf-8" ?>
<sales>
    <points>
      <country>Country 1</country>
      <value>100</value>
    </points>
    <points>
      <country>Country 2</country>
      <value>120</value>
    </points>
    <points>
      <country>Country 3</country>
      <value>80</value>
    </points>
</sales>

为了在文档中插入一个图表对象,我们首先需要创建一个新的图表,此时,我们需要在工程中添加 System.Windows.Forms.DataVisualization.Charting.Chart 的引用

每个图表对象都包含一个 ChartArea 对象,以及一个Series对象
Chart chart = new Chart();
chart.ChartAreas.Add("chartArea1");
chart.Series.Add("series1");

// set the ChartType
chart.Series["series1"].ChartArea = "chartArea1";
chart.Series["series1"].ChartType = SeriesChartType.Bar;

接下来,我们需要加载XML数据岛DataSet对象中,列名将作为图表数据绑定的名称:
DataSet ds = new DataSet();
ds.ReadXml("data.xml");

chart.Series.XValueMember = ds.Tables.Columns.ColumnName;
chart.Series.YValueMembers = ds.Tables.Columns.ColumnName;


最后,DataSet中的第一个DataTable对象将作为Chart对象的数据源,然后将一个 ChartFrame 对象插入到文档中:
chart.DataSource = ds.Tables;
chart.DataBind();

ChartFrame chartFrame = new ChartFrame(chart);
textControl1.Charts.Add(chartFrame, -1);
页: [1]
查看完整版本: 在TX Text Control X8中插入图表控件