zoukankan      html  css  js  c++  java
  • sencha/extjs 动态创建grid表格

    //创建普通表格 id,父容器,标题,json数据字符串,列名(逗号分隔),json数据key即store的fields属性(逗号分隔)


    function createCommonTable(id, container, fieldLabel, value, columns,dataIndexs) {
        	if(typeof(container)!="object")
    		{
    			container=Ext.getCmp(container); //根据id取组件
    		}
        
        var rarr = columns.split(',');
        var darr=dataIndexs.split(',');
           
        var columnsArr = new Array();
        var fieldsArr = new Array();
    
        for (var i = 0; i < rarr.length; i++) {
            columnsArr.push({tooltip:rarr[i] ,text: rarr[i], dataIndex: darr[i], editor: { xtype: 'textfield', allowBlank: true} });
        }
        for (var i = 0; i < darr.length; i++) {
            fieldsArr.push(darr[i]);
        }
      
        
        var fd = Ext.create('Ext.grid.Panel', {
            xtype: 'gridpanel',
            autoScroll:true,
            id: id,       
            columns: columnsArr , 
    		forceFit:true
        });
        if(fieldLabel)
            {
                fd. title=fieldLabel;//标题
            }
        else
            {
                fd.header=false;
            }
    	
    	
    	if (value) {
            value = eval(value);
        }
    
        var jsonData = { 'items': value };
    
        Ext.create('Ext.data.Store', {
            storeId: 'simpsonsStore-' + id,
            fields: fieldsArr,
            /*data:jsonData,*/
            proxy: {
                type: 'memory',
                reader: {
                    type: 'json',
                    root: 'items'
                }
            }
        });
    
        //console.log(jsonData);
        
        var store = Ext.data.StoreManager.lookup('simpsonsStore-' + id);
        fd.reconfigure(store);
        store.loadRawData(jsonData);	
    	
    	container.items.add(container.items.getCount(), fd);
    	container.doLayout();
    	return fd;
    }
    




    使用:

    var grid=createCommonTable('mygrid',Ext.getCmp("gridContainer"), null, [{"姓名":"aabb","年龄":21}], "姓名,年龄");


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    2、selinux服务的操作
    1、添加nginx到全局变量中
    linux每日命令(1):which
    QT重载基类绘制函数并在基类绘制结果基础上进行子类的绘制
    QT信号槽无法正常通信的原因
    mapgis6.7+加密狗+二次开发SDK库
    KMP算法参考及C语言实现
    elastic search
    RabbitMq docker集群
    RabbitMq安装
  • 原文地址:https://www.cnblogs.com/xuejianxiyang/p/sencha_extjs_dynamic_create_gridpanel.html
Copyright © 2011-2022 走看看