【问题标题】:how to programatically add chart control to ASP.net c# page如何以编程方式将图表控件添加到 ASP.net c# 页面
【发布时间】:2011-07-01 21:31:53
【问题描述】:

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

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

【问题讨论】:

    标签: c# asp.net charts


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        假设您有一个包含一些行的数据集 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 中继器来做你想做的事。您还可以使用 Chart.RenderControl() 将图表直接写入您想要的页面。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-05-27
          • 1970-01-01
          • 2010-09-16
          • 1970-01-01
          • 2011-02-18
          • 2015-12-29
          • 1970-01-01
          相关资源
          最近更新 更多