sharepoint 2010 如何在sharepoint 2010 中使用MSChart图表控件

来源:互联网 发布:长沙软件大学 编辑:程序博客网 时间:2024/05/16 06:04

1。在GAC中找到Microsoft.Office.Server.Chart.dll,并且在vs 2010 中引用。

2。配置web.config.

 <compilation batch="false" debug="false">
      <assemblies>
        <!--1.chart配置-->
        <add assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </assemblies>
</compilation>


<system.webServer>
    <handlers>
      <!--2.chart配置-->
      <add name="ChartImg" verb="*" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler,&#xD;&#xA; System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </handlers>
  </system.webServer>


<appSettings>
    <!--3.chart配置,其中url可以指定其它文件夹路径-->
    <add key="ChartImageHandler" value="storage=memory;timeout=20;URL=/_layouts/Images/MicrosoftChartControls/" />
  </appSettings>


3。新建一个可视化部件,应用chart控件。

<%@ Register Assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>


<asp:Chart ID="Chart1" runat="server">
    <Series>
        <asp:Series Name="Series1">
        </asp:Series>
    </Series>
    <ChartAreas>
        <asp:ChartArea Name="ChartArea1">
        </asp:ChartArea>
    </ChartAreas>
</asp:Chart>

 

4。后台新建一个DataTable数据源,并将其绑定在chart控件上(也可以是其他数据源)

public void Bind()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("Title", typeof(string));
            dt.Columns.Add("Count", typeof(Int32));
            for (int i = 0; i < 4; i++)
            {
                DataRow dr = dt.NewRow();
                dr["Title"] = "test" + (i + 1);
                dr["Count"] = i + 1;
                dt.Rows.Add(dr);
            }
            Chart1.DataSource = dt;
            Chart1.Series["Series1"].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Pie;
            Chart1.Series["Series1"].XValueMember = "title";
            Chart1.Series["Series1"].YValueMembers = "count";
            Chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = true; //3D效果
            Chart1.Series["Series1"].AxisLabel = "知识数量";
            Chart1.DataBind();
        }

5。部署该webpart.将其添加到sharepoint页面上。效果如下:

来源:http://blog.csdn.net/cxx2325938/article/details/8565060