2013-03-06 23 views
1

我使用ASP.NET圖表控件,並希望創建一個二維條形圖這樣的例子:如何使用ASP.NET圖表控件的二維條形圖

Sample 2D bar chart

我的數據是這樣的:

Sample data

的商品A,商品B,C產品將網頁名稱(見我的數據)和彩色條將是設備類型。任何人都可以告訴我如何去做這件事?

+0

您正在使用C#?它來自哪種數據庫?你需要將數據放在一個對象中嗎?是JSON對象的一個​​選項? – Hituptony 2013-03-06 18:06:08

+0

數據來自SQL Server存儲過程。我使用VB.Net,但C#示例很好。不,我不需要對象中的數據,JSON不是一種選擇。謝謝。 – Steve 2013-03-06 18:42:47

+0

你試過了什麼?數據綁定? http://www.dotnetpools.com/Article/ArticleDetiail/?articleId=189&title=Asp.Net--2D-and-3D-Charts-Using-C – Hituptony 2013-03-06 18:45:17

回答

3

假設你有圖表控件......包括所有的dll和庫。你需要先...:

通過簡單地從工具箱拖動圖表控件到頁面上的圖表添加到ASP.NET頁面

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

你可以做到這一點。

當通過客戶端瀏覽器訪問時,圖表控件呈現一個ChartHttpHandler並處理請求。

接下來你需要指定圖表數據。包括X軸和Y軸 - X表示值的位置 - Y值表示線的位置或列的高度。

然後您需要使用DataBindTable將數據庫數據綁定到Chart ...。

Using myConnection As New SqlConnection 
    myConnection.ConnectionString = ConfigurationManager.ConnectionStrings("NorthwindConnectionString").ConnectionString 

    Dim myCommand As New SqlCommand 
    myCommand.Connection = myConnection 
    myCommand.CommandText = "SELECT CategoryName, COUNT(*) as ProductCount FROM Products p INNER JOIN Categories c ON c.CategoryID = p.CategoryID GROUP BY CategoryName ORDER BY CategoryName" 

    myConnection.Open() 
    Dim myReader As SqlDataReader = myCommand.ExecuteReader() 

    chtCategoriesProductCount.DataBindTable(myReader, "CategoryName") 

    myReader.Close() 
    myConnection.Close() 
End Using 

這將在圖表控件中創建一個新系列,因此您不需要使用標記語言專門定義一個系列。

獲取數據的另一種方法是通過DataSource屬性...如下所示。這需要對圖表的系列進行明確的定義。你也需要指定線條或條形圖。

,第一部分是這樣的:

<asp:Chart ID="chtCategoriesProductCountBarChart" runat="server"> 
    <Titles> 
     <asp:Title Text="Number of Products in Categories"></asp:Title> 
    </Titles> 

    <Series> 
     <asp:Series Name="Categories" ChartType="Line" ChartArea="MainChartArea" BorderWidth="5" Color="Red"></asp:Series> 
    </Series> 

    <ChartAreas> 
     <asp:ChartArea Name="MainChartArea"> 
     </asp:ChartArea> 
    </ChartAreas> 
</asp:Chart> 

後面的代碼綁定:

chtCategoriesProductCountBarChart.Series("Categories").XValueMember = "CategoryName" 
chtCategoriesProductCountBarChart.Series("Categories").YValueMembers = "ProductCount" 

chtCategoriesProductCountBarChart.DataSource = myReader 
chtCategoriesProductCountBarChart.DataBind() 

我會假設你知道在哪裏把這個數據,圖表控制器。祝你好運...

哦,這裏是我的資源......應該沒有太多的其他幫助有太..乾杯

http://www.4guysfromrolla.com/articles/072209-1.aspx

+0

感謝您的回覆,但這並沒有幫助。我可以輕鬆創建各種柱形圖,但無法弄清楚如何顯示二維條形圖,就像我在初始文章中描述的那樣。我無法弄清楚的關鍵是如何將三段數據綁定到圖表,其中左側將顯示頁面名稱,每個彩色條將表示設備類型,並且條的長度(X軸)將是請求數。 – Steve 2013-03-06 21:01:22

+1

好吧,所以這不是一個功能問題,它是一個格式問題。你應該更具體一些,我花了很多時間認爲你不知道如何創建條形圖。你最初的帖子很模糊,你應該發佈代碼,以及你嘗試過的東西,並且對你的問題做更具體的描述,「任何人都可以告訴我如何做到這一點?這究竟是什麼因此沒有人浪費他們半天的研究圖表控制?謝謝,抱歉,我無法得到更多幫助。 – Hituptony 2013-03-06 21:10:35

相關問題