如何以编程方式将图表控件添加到ASP.net c#page

时间:2011-06-27 09:21:23

标签: c# asp.net charts

我正在创建一个报表应用程序,用于查询数据库并计算员工的销售数据。查询的结果存储在数据集中。目前,我正在将图表控件从工具箱拖到页面上以创建控件。这个图表控件位于一个名为幻灯片的div标签中,因为我正在使用jQuery来创建幻灯片。每个图表都绑定到数据集中的一行。

然而,我现在遇到的问题是,如果增加一名新员工,我将不得不继续搞乱网页,以便为新员工显示图表。有没有办法可以说,“对于数据集中的每一行,在幻灯片显示div标签中创建一个图表控件?”

3 个答案:

答案 0 :(得分:0)

ASP.net和jquery之间的交互可能有点棘手,因为你正在处理服务器端和客户端。我建议你做的是从服务器端创建一个列表(例如在javascript中生成静态JSON列表或使用AJAX),然后使用jquery为JSON列表中的每个人员创建图表。

答案 1 :(得分:0)

同意让服务器返回JSON并在jquery中完成所有操作的想法 - 你应该看一下new-ish jquery模板很容易将你的json变成一组div标签,格式化为你的要求。

答案 2 :(得分:0)

是的,你可以按照你的要求做。

假设您有一些包含某些行的数据集。您想为每一行创建一个图表。这是你可以做的:

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()将图表直接写入您想要的页面。