首页新闻招聘找找看知识库
  • 回复:3 浏览:4102 2010-05-24 10:40 来自 王善军

    我想用ExtJS 3开发一个管理系统,主界面设计与官方示例界面相似。

    其中,有个系统工具栏(ToolBar),工具栏中需要根据后台数据库配置,动态添加生成按钮(Button)。工具栏代码如下:

    ToolBar = function() {
    ToolBar.superclass.constructor.call(
    this, {
    id:
    'tool_bar',
    cls:
    'top-toolbar',
          items: [ //这里要求从后台获取config代码 ] 
    })
    };

    Ext.extend(ToolBar, Ext.Toolbar);

     

    ASP.NET后台代码:

    代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    public partial class rolegroup : System.Web.UI.Page
    {

    protected void Page_Load(object sender, EventArgs e)
    {
    //以下是工具栏按钮测试代码,生成JSON
    string json = "[{'text':'测试1','iconCls': 'icon-desktop'},{'text':'测试2','iconCls': 'icon-desktop'}]";
    json
    = "{totalPorperty:2,result:" + json + "}";
    Response.Write(json);
    }
    }

     

    请问,如何将后台生成的JSON代码写入到ToolBar的Items项中?

    我尝试用Store,但不知如何将Store中的Data赋给ToolBar。

    代码
    var store = new Ext.data.Store
    ({
    proxy:
    new Ext.data.HttpProxy({ url: "../rolegroup.aspx" }), // 数据源
    reader: new Ext.data.JsonReader({ totalProperty: "totalPorperty", root: "result", fields: [{ name: 'text' }, { name: 'iconCls'}] })// 如何解析
    });
    store.load();

     

    请高手指点迷津!我是菜鸟~~

  • 王善军
    2010-05-24 19:04 王善军
    经过不断研究,加上网友提供帮助,我改写代码如下。但还是有问题,没能成功添加按钮!
    请大家帮我看看问题之所在!谢谢!

    ToolBar = function(A) {
    Ext.Ajax.request({
    url: 'rolegroup.aspx',
    params: '',
    method: 'POST',
    success: function(response, options) {
    //alert('success');
    var rsp = Ext.util.JSON.decode(response.responseText);
    var total = rsp.totalProperty;
    //alert(total);
    //alert(rsp.result[0].text);
    var arrays = new Array(total);
    for (var i = 0; i < total; i++) {
    arrays[i] = new Ext.Button({ text: rsp.result[i].text, iconCls: 'icon-home' });
    }
    //alert(arrays.length);
    alert(arrays[1]['text'] + ',' + arrays[1]['iconCls']);
    var o = { items: arrays };
    Ext.apply(this, A, o); //不成功?
    },
    failure: function() {
    Ext.Msg.alert("提示信息", "按钮加载失败,请稍后重试!");
    }
    });

    ToolBar.superclass.constructor.call(this, {
    id: 'tool_bar',
    cls: 'top-toolbar'
    })
    };

    Ext.extend(ToolBar, Ext.Toolbar);
    第1楼 回到顶楼
  • sasas1981
    2011-02-13 22:49 sasas1981
    www.bogou118.com 博狗-博狗亚洲
    www.bojiuzixun.com 博九-博九网
    www.dingwang789.com 顶旺-顶旺亚洲-顶旺亚洲娱乐
    www.zhizun789.info 智尊-智尊亚洲-智尊娱乐城
    第3楼 回到顶楼
登录后才能评论,请先登录注册