找回密码
 立即注册

QQ登录

只需一步,快速开始

rijun

高级会员

55

主题

228

帖子

1115

积分

高级会员

积分
1115

活字格认证微信认证勋章

[已处理] ajaxPro.2与c1控件

rijun
高级会员   /  发表于:2015-11-13 10:52  /   查看:6087  /  回复:7
我想网页打开后过几秒在给barchart填充数据,我用了ajaxPro.2这个类
前台代码
<head runat="server">
    <title></title>
    <script type="text/javascript" language="javascript">
        var timer = window.setTimeout("showData()", 10000);
        function showData() {
            window.WebApplication1.WebForm6.show();
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <wijmo:C1BarChart ID="C1BarChart1" runat="server">
    </wijmo:C1BarChart>
    </form>
</body>
后台代码
protected void Page_Load(object sender, EventArgs e)
        {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(WebForm6));
        }

        [AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)]
        public void show()
        {
            setChart(this.C1BarChart1, getDT());
        }

        private DataTable getDT()
        {
            DataTable dt = new DataTable();
            try
            {
                dt.Columns.Add("bits_name");
                dt.Columns.Add("interval");
                dt.Columns.Add("received_time");
                dt.Columns.Add("status");
                for (int i = 0; i < 3; i++)
                {
                    Random rand = new Random();
                    DataRow dr = dt.NewRow();
                    dr["bits_name"] = "上海";
                    dr["interval"] = rand.Next(-10000, 10000);
                    dr["received_time"] = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
                    dr["status"] = rand.Next(-4, 3);
                    dt.Rows.Add(dr);
                }
            }
            catch (Exception)
            {

            }
            return dt;
        }

        private void setChart(C1BarChart chart, DataTable dt)
        {
            chart.SeriesList.Clear();
            chart.DataSource = dt;

            C1.Web.Wijmo.Controls.C1Chart.C1ChartBinding cb = new C1.Web.Wijmo.Controls.C1Chart.C1ChartBinding();
            cb.XField = "bits_name";
            cb.XFieldType = C1.Web.Wijmo.Controls.C1Chart.ChartDataXFieldType.String;

            cb.YField = "interval";
            cb.YFieldType = C1.Web.Wijmo.Controls.C1Chart.ChartDataYFieldType.Number;

            // add chartbinding object to the collection
            chart.DataBindings.Add(cb);
            chart.DataBind();

            //chart.Hint.Content.Function = "hintContent";

            chart.Legend.Visible = false;
            chart.Horizontal = false;
        }
运行起来就报错了,如下图



是控件和这个类有冲突吗?怎么解决?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

7 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-11-13 11:49:00
沙发
回复 1楼rijun的帖子

谢谢您的反馈。
从您提供的信息来看,是不支持AjaxPro的。
C1BarChart的数据绑定以及支持的类型,请参考在线示例:
http://demo.gcpowertools.com.cn/ ... rt/DataBinding.aspx
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
rijun
高级会员   /  发表于:2015-11-13 12:06:00
板凳
回复 2楼Alice的帖子

那用ajax延时加载的话应该怎么写呢?就是用异步加载数据导barchart
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-11-13 13:39:00
地板
回复 3楼rijun的帖子

您可以参考产品文档,添加脚本使用ajax data给chart。
参考链接:
http://helpcentral.componentone. ... 3of4addscript1.html
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
rijun
高级会员   /  发表于:2015-11-13 13:56:00
5#
回复 4楼Alice的帖子

现在时间比较紧迫  能否写个简单的例子给我?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-11-13 14:28:00
6#
回复 5楼rijun的帖子

您好。
4楼提供的文档中有详细的步骤和代码。
其中ajax调用获取数据,请参考如下(这段代码从文档中复制):
  1. $(document).ready(function () {

  2.             //ajax call to get the data
  3.             $.ajax({
  4.                 type: &quot;POST&quot;,
  5.                 url: &quot;GetOrders.asmx/GetDataOnLoad&quot;,
  6.                 contentType: &quot;application/json; charset=utf-8&quot;,
  7.                 dataType: &quot;json&quot;,
  8.                 data: {},
  9.                 success: function (data) {
  10.                     var arr = [];
  11.                     try {
  12.                         //push the data in an array
  13.                         $.each(data.d, function (i, elem) {
  14.                             arr.push({
  15.                                 Year: elem.Year,
  16.                                 OrderAmount: elem.OrderAmount
  17.                             });
  18.                         });
  19.                         //initialize the barchart widget
  20.                         $(&quot;#C1BarChart1&quot;).c1barchart({
  21.                             shadow: false,                           
  22.                             hint: { content: function () { return this.data.label + '\n ' + this.y + ''; } },
  23.                            //set the datasource of the BarChart
  24.                             dataSource: arr,
  25.                             seriesList: [{
  26.                                 label: &quot;Yearly Amount of Orders&quot;,
  27.                                 legendEntry: true,
  28.                                 data: { x: { bind: &quot;Year&quot; }, y: { bind: &quot;OrderAmount&quot; } }
  29.                             }],
  30.                             seriesStyles: [{ fill: &quot;180-#ff9900-#ff6600&quot;, stroke: &quot;#ff7800&quot;, opacity: 0.8 }],
  31.                             });
  32.                     }
  33.                     catch (e) {
  34.                         alert(e);
  35.                         return;
  36.                     }

  37.                 },
  38.                 error: function (result, status) {
  39.                     if (status = &quot;error&quot;) {
  40.                         alert(status);
  41.                     }
  42.                 }
  43.             });
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
rijun
高级会员   /  发表于:2015-11-13 15:29:00
7#
回复 6楼Alice的帖子

帮助不大 谢谢了
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-11-16 16:06:00
8#
回复 7楼rijun的帖子

谢谢您的反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部