我正在創建一個查詢數據庫並計算員工銷售數據的報表應用程序。查詢的結果存儲在數據集中。目前,我正在將工具箱中的圖表控件拖動到頁面上以創建控件。這個圖表控件位於一個名爲slideshow的div標籤中,因爲我使用jQuery來創建幻燈片。每個圖表都綁定到數據集中的一行。如何以編程方式向ASP.net添加圖表控件c#頁面
但是,我現在面臨的問題是,如果添加了新的工作人員,我將不得不隨便亂動網頁以顯示新員工的圖表。有什麼方法可以說:「對於數據集中的每一行,在幻燈片div標籤中創建一個圖表控件?」
我正在創建一個查詢數據庫並計算員工銷售數據的報表應用程序。查詢的結果存儲在數據集中。目前,我正在將工具箱中的圖表控件拖動到頁面上以創建控件。這個圖表控件位於一個名爲slideshow的div標籤中,因爲我使用jQuery來創建幻燈片。每個圖表都綁定到數據集中的一行。如何以編程方式向ASP.net添加圖表控件c#頁面
但是,我現在面臨的問題是,如果添加了新的工作人員,我將不得不隨便亂動網頁以顯示新員工的圖表。有什麼方法可以說:「對於數據集中的每一行,在幻燈片div標籤中創建一個圖表控件?」
ASP.net和jquery之間的交互可能有點棘手,因爲你正在處理服務器端與客戶端。我建議你做的是從服務器端創建一個列表(例如在JavaScript中產生一個靜態JSON列表或使用AJAX),然後使用jQuery爲你的JSON列表中的每個員工創建你的圖表。
同意關於獲取服務器返回JSON並在jquery中做所有事情的想法 - 您應該看看新的ish jquery模板,非常容易將您的json轉換爲格式爲您需要的一組div標記。
是的,你可以做你所要求的。
假設您有一個包含某些行的數據集ds。你想爲每一行創建一個圖表。這裏是你可以做什麼:
1)您的網頁上聲明一個ASP面板:
<asp:Panel runat='server' id='pnlCharts' />
2)在你的後臺代碼,你會想要寫的東西是這樣的:
Dataset ds = getMyData();
foreach(Datarow row in ds.Tables[0].Rows)
{
Chart chart = new Chart();
// Add code to design a chart from a *single* row
Panel.Controls.Add(chart);
}
更新: 我雖然關於你的問題多一些。你也可以考慮使用ASP Repeater來做你想做的事。您也可以直接將圖表寫入您想要使用Chart.RenderControl()的頁面。