簡體   English   中英

如何將數據源綁定到Ajax圖表控件是asp.net C#

[英]how to bind datasource to the Ajax chart control is asp.net c#

我想使用基於Ajax的圖表控件制作圖表。 我已經為其添加了ajax工具包。

我想按以下鏈接創建圖表

http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/BarChart/BarChart.aspx

通過使用靜態數據。 我可以創建如下圖

<asp:BarChart ID="BarChart1" runat="server" 
ChartHeight="300" ChartWidth="450" ChartType="StackedColumn"
ChartTitle="United States versus European Widget Production" 
CategoriesAxis="2007,2008,2009,2010,2011,2012"  
ChartTitleColor="blue" CategoryAxisLineColor="Red" 
ValueAxisLineColor="yellow" BaseLineColor="green" >
<Series>
    <asp:BarChartSeries Name="United States" BarColor="#6C1E83" 
    Data="110, 189, 255, 95, 107, 140" />
    <asp:BarChartSeries Name="Europe" BarColor="#D08AD9" 
    Data="49, 77, 95, 68, 70, 79" />
</Series>
</asp:BarChart>

但是我不知道如何將現有數據綁定到圖表控件的數據源。 那么該怎么做呢?

private void getData()
    {
        SqlCeConnection conn = new SqlCeConnection("data source='c:\\northwind.sdf';  mode=Exclusive;");
        SqlCeDataAdapter da = new SqlCeDataAdapter("Select [Statistics] from Products",  conn);
        DataTable dtSource = new DataTable();
        da.Fill(dtSource);
        DataRow[] dr = new DataRow[dtSource.Rows.Count];
        dtSource.Rows.CopyTo(dr, 0);
        int[] dblstat= Array.ConvertAll(dr, new Converter<DataRow , int>       (DataRowToint));

    }


    public static int32 DataRowToint(DataRow dr)
    {
        return Convert.ToInt32(dr["Statistics"].ToString());

}

上面的代碼將為您提供int值數組,並將其分配給代碼隱藏中的條形圖數據。

這是一個可行的解決方案,只需將數據填充到數據表中,然后像下面我所做的那樣創建一個十進制數組,然后將其分配即可。

 protected void Page_Load(object sender, EventArgs e)
    {
        decimal[] usstat = new decimal[] { 10, 15, 16, 18, 20 };
        decimal[] ukstat = new decimal[] { 14, 18, 6, 11, 32 };


        if (BarChart1.Series[0].Name == "US")
        {
            BarChart1.Series[0].BarColor = "#6C1E83";
            BarChart1.Series[0].Data = usstat;
        }


        if (BarChart1.Series[1].Name == "UK")
        {

            BarChart1.Series[1].BarColor = "#D08AD9";
            BarChart1.Series[1].Data = ukstat;
        }

-。aspx ....

    <asp:BarChart ID="BarChart1" runat="server" ChartHeight="300" ChartWidth="450"  ChartType="StackedColumn" ChartTitle="United States versus European Widget Production"  CategoriesAxis="2007,2008,2009,2010,2011,2012" ChartTitleColor="blue"  CategoryAxisLineColor="Red" ValueAxisLineColor="yellow" BaseLineColor="green" >
<Series>
  <asp:BarChartSeries Name="US"/>
  <asp:BarChartSeries Name="UK"/>
</Series>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM