`
tayuexiaotian
  • 浏览: 24876 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ext表格布局

阅读更多
完整源代码如下
/*
* Ext JS Library 2.0.2
* Copyright(c) 2006-2008, Ext JS, LLC.
* licensing@extjs.com
*
* http://extjs.com/license
*/

Ext.onReady(function(){

//    Ext.state.Manager.setProvider(new Ext.state.CookieProvider());


    // example of custom renderer function
    function statusColor(val){
        if(val == '在线'){
            return '<span style="color:green;">' + val + '</span>';
        }else if(val == '会议中'){
            return '<span style="color:red;">' + val + '</span>';
        }
        return val;
    }

    // create the Data Store
    var store = new Ext.data.Store({
        // this page, an HttpProxy would be better
//     proxy: new Ext.data.MemoryProxy(data),
//        proxy: new Ext.data.HttpProxy({
//            url: 'termSearch.action'
////           url:'../../temp/data.txt'
//        }),
        url:'termSearch.action',
        storeId:'searchResult',

        // create reader that reads the Topic records
        reader: new Ext.data.JsonReader({
            totalProperty: 'totalrows',
            root: 'data',
//            id: 'id',
            fields: [
              {name: 'id', type:'int'},
              'consumer',
              'area',
              'termid',
                'name',
                'status',
                'udate'
//                {name: 'udate', mapping: 'udate', type: 'date', dateFormat: 'Y-m-d'}
            ]
        })
// ,

        // turn on remote sorting
//        remoteSort: true
    });
  
   var sm = new Ext.grid.CheckboxSelectionModel();// 多选行  
var cm = new Ext.grid.ColumnModel([
   new Ext.grid.RowNumberer(),
   sm,
     {header:'序号',width:40,dataIndex:'id'},
     {header:'用户',width:50,dataIndex:'consumer'},
     {header:'地域',width:50,dataIndex:'area'},
     {header:'终端编号',dataIndex:'termid'},
     {header:'终端名称',dataIndex:'name'},
     {header:'终端状态',dataIndex:'status',renderer: statusColor},
     {header:'更新日期',dataIndex:'udate'}
    ]);
//  cm.defaultSortable = true;


    // by default columns are sortable
    cm.defaultSortable = true;

    var grid = new Ext.grid.GridPanel({
        store: store,
        cm: cm,
        stripeRows: true,
        height:350,
        width:800,
        title:'',
       
        tbar: new Ext.PagingToolbar({
            pageSize: 10,
            width:'98%',
            store: store,
//            paramNames:{rowStart: 'start', rowLimit: 'limit'},
            displayInfo: true,
            displayMsg: '显示第 {0} 条到 {1} 条记录,共 {2} 条',
            emptyMsg: "无记录"
        })
    });


       
//    grid.render('div-grid');

//    grid.getSelectionModel().selectFirstRow();
   
    var consumerStore = getSelectStore("54");
    var termTypeStore = getSelectStore("53");
    var termStatusStore = getSelectStore("51");

        
//    new Ext.data.SimpleStore({
//                  fields: ['text'],
//                  data : [['0','0'],['5','5'],['10','10'],['15','15'],['20','20']],
//                  fields:[{name: 'value', mapping: 0},{name:'text',mapping:1}],
//                  autoLoad:true
//              })
   
    var table = new Ext.Panel({
     layout:'table',
     defaults: {
         bodyStyle:'padding:1px'
     },
     layoutConfig: {
         columns: 4
     },
     items: [{
     width:165,
          layout: 'form',
          labelWidth:55,
          items: [{
              xtype:'textfield',
              fieldLabel: '终端编号',
              name: 'termId',
              id:'termId',
              anchor:'95%'
          }]
     },{
   width:165,
          layout: 'form',
          labelWidth:55,
          items: [{
              xtype:'textfield',
              fieldLabel: '终端名称',
              name: 'termName',
              id:'termName',
              anchor:'95%'
          }]
               
     },{
   width:165,
          layout: 'form',
          labelWidth:55,
          items: [{
              xtype:'textfield',
              fieldLabel: '刷新延时',
              name: 'timeLapse',
              id:'timeLapse',
              anchor:'95%',
              xtype:'combo',
          store: new Ext.data.Store({
          proxy: new Ext.data.MemoryProxy([['0','0'],['5','5'],['10','10'],['15','15'],['20','20']]),
          reader: new Ext.data.ArrayReader({}, [
              {name: 'value',mapping: 0, type: 'int'},
              {name: 'text',mapping: 1}
          ]),
          autoLoad:true
      }) ,
      
          displayField:'text',
          valueField:'value',
          hiddenName:'timeLapseValue',
          typeAhead: true,
          triggerAction: 'all',
          forceSelection:true
          }],
          colspan:2
               
     },{
       width:165,
          layout: 'form',
          labelWidth:55,
          items: [{
              xtype:'textfield',
              fieldLabel: '用户',
              name: 'consumerId',
              anchor:'95%',
          id: 'consId',
              xtype:'combo',
              anchor:'95%',
          store: consumerStore,
          displayField:'text',
          valueField:'value',
          hiddenName:'consumerId',
          typeAhead: true,
          mode: 'local',
          triggerAction: 'all',
          forceSelection : true,
          emptyText:'Select a user',
            allowBlank: false,
          selectOnFocus:true,
          forceSelection:true,
          listeners:{
      select:{
       fn:function(combo,record,index) {
//        Ext.Msg.alert('','xxxxxxx');
        var store = getSelectStore("55",record.get('value'));
       
//        Ext.Msg.alert(''+store.getCount(),'xxxxxxxxx='+store.getTotalCount());
       
       
        Ext.getCmp('areaId').clearValue();
        Ext.getCmp('areaId').store = store;
        if(Ext.getCmp('areaId').view){
         Ext.getCmp('areaId').view.setStore(store);
//         Ext.getCmp('areaId').view.refresh();
        
        }
        Ext.getCmp('areaId').enable();
       
       }
      }
          }
          }]
     },{
        width:165,
        layout: 'form',
        labelWidth:55,
        items: [{
            xtype:'textfield',
            fieldLabel: '地域',
            name: 'consumerArea',
            id:'areaId',
            anchor:'95%',
              xtype:'combo',
          store: new Ext.data.Store(),
          displayField:'text',
          valueField:'value',
          hiddenName:'consumerAreaId',
          typeAhead: true,
          mode: 'local',
          triggerAction: 'all',
          forceSelection : true,
          emptyText:'Select a area',
            allowBlank: false,
          selectOnFocus:true,
          forceSelection:true,
          disabled:true
        }]
     },{
          width:165,
          layout: 'form',
          labelWidth:55,
          items: [{
              xtype:'textfield',
              fieldLabel: '终端状态',
              name: 'termStatus',
              id:'termStatus',
              anchor:'95%',
              xtype:'combo',
          store: termStatusStore,
          displayField:'text',
          valueField:'value',
          hiddenName:'termStatusId',
          typeAhead: true,
          triggerAction: 'all',
          forceSelection:true,
          editable:false,
          mode: 'local'
          }]
       
     },
//     {
//          width:165,
//          layout: 'form',
//          labelWidth:55,
//          items: [{
//              xtype:'textfield',
//              fieldLabel: '终端类型',
//              name: 'termType',
//              id:'termType',
//              anchor:'95%',
//              xtype:'combo',
//          store: termTypeStore,
//          displayField:'text',
//          valueField:'value',
//          hiddenName:'termTypeId',
//          typeAhead: true,
//          triggerAction: 'all',
//          forceSelection:true,
//          editable:false,
//          mode: 'local'
//          }]
//       
//     },
     {
          layout: 'form',
          labelWidth:55,
          items: [{
          name: 'Save',
          id: 'Save',
          text: '查询',
              xtype:'button'
          }]
     }]
});
//    table.render('div-grid');
    var fp = new Ext.FormPanel({
//        labelAlign: 'top',
        frame:true,
        title: '.',
        bodyStyle:'padding:5px 5px 0',
        width: 800
       
    });
   
    fp.add(table);
  fp.add(grid);
    fp.render("div-form");  
     //增加基本参数
   store.on('beforeload', function(store) {
     var para = {termId:'',termName:'',consumerId:'',areaId:'',termTypeId:'',tstatus:''};
     para.termId = Ext.get('termId').getValue();
     para.termName = Ext.get('termName').getValue();
     para.consumerId = Ext.get('consumerId').getValue();
     para.areaId = Ext.get('consumerAreaId').getValue();
     para.tstatus = Ext.get('termStatusId').getValue();
    
       Ext.apply(store.baseParams,para);  
  });
    store.load({params:{start:0, limit:10}});

   
    Ext.get("Save").on('click', function(){
     store.load({params:{start:0, limit:10}});
     
        });
});

function getSelectStore(selectId,pid){
if(!pid) pid = '';
var store = new Ext.data.Store({   
     proxy: new Ext.data.HttpProxy({  
         method: 'GET',  
         url: '../webapp-cfg/getSelectOption.action?selectId='+selectId+'&pvalue='+pid+'&random='+Math.random()
     }),  
     reader: new Ext.data.ArrayReader(
      {id: "value"},
      [
        {name: 'value', mapping: 'value'},
        {name: 'text',mapping:'text'}
      ]),
     autoLoad:true
    
});


store.load();
store.on('load', function( s, records, options )  {
 
  var rs = new Array(1);
  var all = new Ext.data.Record([{name: 'value', mapping: 'value'},
        {name: 'text',mapping:'text'}]);
  all.set('value','');
  all.set('text','全部');
  rs[0] = all;

  s.insert(0,rs);
 
});
分享到:
评论

相关推荐

    ext表格布局小例子

    ### ExtJS 表格布局小例子详解 #### 一、简介 本文档旨在解析一个具体的 ExtJS 表格布局小例子,重点介绍其中涉及的数据存储、数据删除与添加的方法。ExtJS 是一款强大的 JavaScript 框架,用于构建交互式的前端...

    Ext Panel拼揍表格模板.rar

    本资源“Ext Panel拼揍表格模板.rar”显然包含了关于如何使用Ext Panel创建自定义表格模板的示例和代码。 Ext JS是一个流行的JavaScript库,用于开发富互联网应用程序(RIA)。它提供了一个强大的组件模型,其中...

    表格Ext js源代码

    在本资源中,我们关注的是"表格Ext js gird源代码",这涉及到Ext JS中的Grid Panel组件,它是展示和操作数据集的主要工具。 Grid Panel是Ext JS中的核心组件之一,用于显示结构化的数据,通常以表格的形式。它支持...

    ext 双层表格 grid(附带图片)

    考虑到现代Web应用的跨设备需求,EXT JS Grid支持响应式布局,可以根据屏幕大小自动调整列宽和布局。 综上所述,EXT JS的双层表格功能提供了强大的数据展示能力,通过灵活的配置和丰富的API,可以满足各种复杂的...

    Ext table布局实例 formpanel的table布局

    在Ext JS这个强大的JavaScript框架中,布局管理是构建复杂用户界面的关键部分。本文将深入探讨“Ext table布局实例”以及“formpanel的table布局”,帮助开发者更好地理解和运用这两种布局方式。 首先,我们要理解...

    Ext左树有表格 增删改查

    在"Ext左树有表格 增删改查"这个主题中,我们主要关注的是ExtJS如何实现左侧树形结构与右侧表格的交互,以及在这样的布局中进行数据的增、删、改、查操作。 首先,ExtJS中的树形组件(TreePanel)可以用来展示层级...

    EXT 布局 Layout 资料

    ### EXT 布局 Layout 资料详解 ...- **Table 布局**:用于表格布局,支持行列布局。 每种布局都有其特定的应用场景,选择合适的布局可以帮助开发者更好地组织界面元素,提高用户界面的友好性和可维护性。

    Ext 添加功能form表单实例

    - `layout`: 使用了`"form"`布局,这是Ext中专门为表单设计的布局方式。 - `labelWidth`: 统一设置了所有字段标签的宽度。 - `autoScroll`: 设置为`true`,当表单内容超出容器时自动显示滚动条。 #### 字段配置 ...

    ext4 表格分页实例代码

    实现EXT4表格分页实例,首先需要创建一个EXT JS项目,使用Eclipse作为IDE。在Eclipse中,可以使用Sencha CMD工具来生成项目结构和基础代码。项目创建后,需要编写以下主要部分: 1. **数据模型(Model)**:定义...

    Ext Designer EXt UI设计插件

    5. **模板和布局**:内置的各种布局模板(如表格布局、绝对布局等)使用户可以轻松地组织和对齐元素,而无需深入了解EXT的布局机制。 6. **版本控制集成**:EXT Designer与版本控制系统如Git、SVN等集成,方便团队...

    Ext10种布局

    ExtJS2.0 提供了丰富的布局选项,覆盖了从简单的容器布局到复杂的表格布局等多种场景需求。理解并掌握这些布局的特点和使用方法,能够帮助开发者高效地构建用户界面。在实际开发过程中,根据具体需求选择合适的布局...

    Ext.Viewport布局

    ### Ext.Viewport布局详解 在前端开发领域,尤其是基于Ext JS框架进行应用设计时,`Ext.Viewport`布局是至关重要的概念。它提供了一个全面的、全屏的容器,用于组织和展示各种UI组件,如面板、表格、图表等。在给定...

    EXT安装包4.2.1-1

    1. **组件化**:EXT提供了大量的预构建组件,如表格、面板、窗口、菜单、按钮等,这些组件可以方便地组合起来创建复杂的用户界面。 2. **数据绑定**:EXT支持双向数据绑定,使得视图层和模型层之间的数据同步变得...

    Ext Grid表格的自动宽度及高度的实现

    在探讨“Ext Grid表格的自动宽度及高度的实现”这一主题时,我们深入解析如何在Ext JS框架下,利用其强大的Grid组件自适应容器尺寸,实现表格宽度与高度的自动调整。这一技术对于构建响应式、用户友好的界面至关重要...

    ext下载包,ext,ext包,ext下载

    EXT的核心部分是它的组件系统,包括各种UI组件,如表格、面板、菜单、按钮、表单等,这些组件都具有高度可定制性。"ext-all.js"是EXT库的主要JavaScript文件,包含了EXT的所有功能,适合在生产环境中使用。这个文件...

    gwtext学习三部曲

    同时,你将接触到GWT Ext的布局管理,学习各种布局模式如绝对布局、网格布局、表格布局等,以便更灵活地设计页面结构。 第三部分:实战应用与最佳实践 这一部分将通过实例展示gwtext和GWT Ext在实际项目中的应用。...

    ext教程、ext核心API 、ext中文教程

    EXT的组件化思想是其核心,通过各种组件如表格(Grid)、面板(Panel)、窗口(Window)等,可以构建出复杂的UI结构。教程会详细讲解这些组件的属性、方法和事件,帮助初学者快速上手。 "EXT核心API"则深入介绍了...

    ext PPT,EXT 教程,EXT 中文帮助手册,EXT 中文手册,ext_教程(入门到精通),Ext技术程序文档大全.

    EXT提供了丰富的组件库,包括数据管理、用户界面控件和布局管理,使得开发者能够创建功能强大且交互性强的Web应用。 在提供的资源中,我们可以看到一系列关于EXT的学习资料,涵盖了从入门到精通的各个阶段: 1. **...

    JSP中使用EXT实现grid table

    EXT 提供了一种优雅的方式来展示和操作数据,尤其适用于创建交互式的Web应用程序,如Ajax驱动的数据表格。Ajax技术使得页面无需刷新就能获取和更新数据,提高了用户体验。 首先,让我们深入了解一下EXT Grid。EXT ...

Global site tag (gtag.js) - Google Analytics