`
l安静的思念
  • 浏览: 6657 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

extjs 4.0 treegrid 分页

阅读更多

Ext.require([
    'Ext.data.*',
    'Ext.grid.*',
    'Ext.tree.*'
]);

var ptag = false;
var ptag2=0;
var partyName;
var companyNumber;
Ext.onReady(function() {
  
    Ext.define('Task', {
        extend: 'Ext.data.Model',
        fields: [
        {name:'totalCount', type:'string'},
            {name: 'groupName',     type: 'string'},  //集团名称
            {name: 'company_Leader',     type: 'string'},//公司领导 5
            {name: 'info_Tech', type: 'string'},//信息技术  0
            {name: 'core_Business',    type: 'string'},//核心业务  1
            {name: 'finance_Purchase',    type: 'string'}, //财务采购 2
            {name: 'administrative_Department',    type: 'string'},//行政部门 3
            {name: 'regulatory_Department',    type: 'string'},// 纪检部门 4
            {name: 'other',    type: 'string'}, //其它
            {name: 'province',    type: 'string'}, //所在省
            {name: 'partyid', type:'string'} //parytId
           
        ],
        idProperty:"partyid"
    });
//treegird 的store
    var store = Ext.create('Ext.data.TreeStore', {
        model: 'Task',
        proxy: {
            type: 'ajax',
            url: 'memberTreeODS.do', //memberTreeGrid JSON
             reader: {
            type: 'json',
            root: 'children',
            totalProperty:'totalCount'
          
        }
           
        },
       autoLoad:false
    });
   
 
   
    var itemsPerPage = 1;   // set the number of items you want per page
   
    var storePage = Ext.create('Ext.data.Store', {
        id:'simpsonsStore',
        autoLoad: false,
        fields:[],
        pageSize: itemsPerPage, // items per page
        proxy: {
            type: 'ajax',
            url: 'memberTreeODS.do',  // url that will load data with respect to start and limit params
            reader: {
                type: 'json',
                root: 'children',
                totalProperty: 'totalCount'
            }
        }
    });
    if(ptag2==0){
alert(1);
    storePage.load({
   
        params:{
            start:0,   
            limit: itemsPerPage,
            partyName1:'Test'
           
        }
    });}else{
   alert(2);
    storePage.load({
        params:{
            start:0,   
            limit: itemsPerPage,
             partyName:Ext.getCmp('party').getValue(),
             companyNumber:Ext.getCmp('companyCode').getValue()
        }
    });
    };
    var bbarModel=new Ext.PagingToolbar({
        id:'pageTool',
        pageSize:pageSize,
        store:storePage , //分页的STORE
        displayInfo:true,
        displayMsg:'显示{0}---{1}条,共{2}条',
        emptyMsg:"没有记录",
        listeners:{
change:function(obj,pdata,options){
//store3.removeAll( ) ;
if(pdata.currentPage==1){
if(ptag2 ==0){
return;

}
}
ptag2++;
partyName=Ext.getCmp('party').getValue();
companeyNumber=Ext.getCmp('companyCode').getValue();
store.on('beforeload',function(){        // =======翻页时 查询条件
               store.baseParams={
                        partyName:Ext.getCmp('party').getValue(),companyNumber:Ext.getCmp('companyCode').getValue()
                       }
            });

store.load({
params:{
            start:pdata.fromRecord, 
             page:pdata.currentPage,
            limit: itemsPerPage
        }
});
//var x=pdata;
}

        }
       
       
        }
       
        )
   
   
   
   
   

    var companyOptions = new Ext.data.Store({
fields: ['id','name'],
proxy: new Ext.data.HttpProxy({
    url: rootPath + '/vip/getCompany.do'
}),

reader: new Ext.data.JsonReader({
    type: "json"
}),
autoLoad:true
});
     var combo =   Ext.create('Ext.form.ComboBox',{
       id:"companyCode",
store:companyOptions,
valueField:'id',

displayField:'name',
fieldLabel:'所属省份',
labelAlign:'right',
emptyText: '请选择...',
editable: false,

multiSelect:false

      
    });
var pageSize=1;
    //Ext.ux.tree.TreeGrid is no longer a Ux. You can simply use a tree.TreePanel
    var tree = Ext.create('Ext.tree.Panel', {
    id:'trPanel',
        title: '重要成员信息',
    //    width: 1000,
        height: 400,
       // renderTo: treegrid,
        collapsible: true,
     border:'1 1 1 1',
        useArrows: true,
        rootVisible: false,
        store: store,
        multiSelect: false,
        singleExpand: true,
        align: 'center',
        bbar: new Ext.PagingToolbar({
        partyName:partyName,
companyNumber:companyNumber,
        id:'pageTool',
        pageSize:pageSize,
        store:storePage , //分页的STORE
        displayInfo:true,
        displayMsg:'显示{0}---{1}条,共{2}条',
        emptyMsg:"没有记录",
        listeners:{
change:function(obj,pdata,options){
//store3.removeAll( ) ;
if(pdata.currentPage==1){
if(ptag2 ==0){
return;

}
}
ptag2++;


store.load({
params:{
  partyName:Ext.getCmp('party').getValue(),
  companyNumber:Ext.getCmp('companyCode').getValue(),
            start:pdata.fromRecord, 
             page:pdata.currentPage,
            limit: itemsPerPage
        }
});

}

        }
       
       
        }
       
        ),
        columns: [{
            xtype: 'treecolumn', //this is so we know which column will show the tree
            text: '集团名称',
            flex: 1,
            sortable: false,
             align: 'center',
            dataIndex: 'groupName'   //??????????
        },{
            text: '公司领导',
            flex: 1,
            dataIndex: 'company_Leader',
              align: 'center',
              renderer:function(v,v2,rec){
              return '<span style="color:blue;" onclick="openItems(\'5\',\''+rec.data.partyid+'\')">'+v+'</span>';
              },
            sortable: false
           
        },{
            text: '信息技术',
            flex: 1,
            dataIndex: 'info_Tech',
              align: 'center',
                renderer:function(v,v2,rec){
              return '<span style="color:blue;" onclick="openItems(\'0\',\''+rec.data.partyid+'\')">'+v+'</span>';
              },
            sortable: false
        },{
            text: '核心业务',
            flex: 1,
            dataIndex: 'core_Business',
              align: 'center',
                renderer:function(v,v2,rec){
              return '<span style="color:blue;" onclick="openItems(\'1\',\''+rec.data.partyid+'\')">'+v+'</span>';
              },
            sortable: false
        },{
            text: '财务采购',
            flex: 1,
            dataIndex: 'finance_Purchase',
              align: 'center',
                renderer:function(v,v2,rec){
              return '<span style="color:blue;" onclick="openItems(\'2\',\''+rec.data.partyid+'\')">'+v+'</span>';
              },
            sortable: false
        },{
            text: '行政部门',
            flex: 1,
            dataIndex: 'administrative_Department',
              align: 'center',
                renderer:function(v,v2,rec){
              return '<span style="color:blue;" onclick="openItems(\'3\',\''+rec.data.partyid+'\')">'+v+'</span>';
              },
            sortable: false
        },{
            text: '纪检剖门',
            flex: 1,
            dataIndex: 'regulatory_Department',
            align: 'center',
              renderer:function(v,v2,rec){
              return '<span style="color:blue;" onclick="openItems(\'4\',\''+rec.data.partyid+'\')">'+v+'</span>';
              },
            sortable: false
        },{
            text: '其它',
            flex: 1,
            dataIndex: 'other',
             align: 'center',
               renderer:function(v,v2,rec){
              return '<span style="color:blue;" onclick="openItems(\'9\',\''+rec.data.partyid+'\')">'+v+'</span>';
              },
            sortable: false
        },{
            text: '所在省',
            flex: 1,
            dataIndex: 'province',
             align: 'center',
            sortable: false
        }
        ]

    });
   
    var layout=Ext.create('Ext.panel.Panel',
  
    {
      bodyStyle:{
     style:'border-left: 0 solid #8db2e3;'
     },
    items:[
    {
    xtype:'panel',
    layout:{
    type:'table',
    columns:3
    },
      
    defaults:{labelAlign:'right',fieldWidth:100,margin:'10px 5px 10px 10px'},
    items:[
    combo,
    {
    xtype:'textfield',
    fieldLabel:'集团客户',
    id:'party'
    },{
    xtype:'button',
    text:'查询',
       handler:function(){
    ptag = false;
    ptag2=0;
    var obj=Ext.getCmp("pageTool");
    //var objTP=Ext.getCmp("trPanel");
    //objTP.bbar=bbarModel;
    store.load({
    params:{
    start:0,
            page:1,  
            limit: itemsPerPage,
            partyName:Ext.getCmp('party').getValue(),
            companyNumber:Ext.getCmp('companyCode').getValue()
            },
        callback:function(r,options,success){
       
        var r=r;
        var options=options;
         var storePageObj=Ext.getCmp('simpsonsStore');
         storePage.load({
         params:{
    start:0,
            page:1,  
            limit: itemsPerPage,
            partyName:Ext.getCmp('party').getValue(),
            companyNumber:Ext.getCmp('companyCode').getValue()
            }
         });
          obj.moveFirst();
   
       
        }
           
   
    });
   
    /*storePage.load({
    params:{
    start:0,
            page:1,  
            limit: itemsPerPage,
            partyName:Ext.getCmp('party').getValue(),
            companyNumber:Ext.getCmp('companyCode').getValue()
            },
        callback:function(r,options,success){
       
        var r=r;
        var options=options;
         var storePageObj=Ext.getCmp('simpsonsStore');
        
   
       
        }
           
   
    });
   
    */
   
    //还是没执行,分页还是没到初始化
    /*
    storePage.on('beforeload',function(){        // =======翻页时 查询条件
               storePage.baseParams={
                        partyName:Ext.getCmp('party').getValue(),companyNumber:Ext.getCmp('companyCode').getValue()
                       };
                    
                         
            });  */
    }
    }
   
    ]
    },
    tree
   
    ]
    });
    layout.render(document.body);
});


function openItems(six,partyid,countno){
countno=1;
window.open('../memberInfo/memberListView.do?partyId='+partyid+'&vipDepartmentId='+six, '详细信息', 'height=600, width=800, top=100, status=no') ;

}

这是JS
这里你会发现有两个Store,但他们引用了同一个JSON数据源.一个treestroe,一个是store,由于我不能把treestroe 直接变成Stroer所有用了两个.如果有高人的话不妨指点一下.
分享到:
评论
2 楼 gotosuzhou 2014-12-25  
我的QQ:785461216
1 楼 gotosuzhou 2014-12-25  
你好,能否给我讲讲 你的思路,麻烦你了

相关推荐

    Extjs 4.0 MVC分页实例

    在这个MVC(Model-View-Controller)分页实例中,我们将探讨如何利用ExtJS 4.0的MVC架构来实现数据的分页展示。MVC模式是软件工程中的一个设计模式,它将应用程序分为三个主要部分:模型(Model)处理数据,视图...

    Extjs 4.0中文版API

    Extjs 4.0中文版API

    EXTJS4.0视频教程配套代码

    [02]EXTJS4.0的新特性.003.zip (14.41M)[02]EXTJS4.0的新特性.002.zip (50.00M)[02]EXTJS4.0的新特性.001.zip 第三讲:extjs4.0数据模型--Model(附件较大做了分包压缩大家只要下载2个包运行001就ok了) [03]EXTJS...

    extJs4.0 开发手册源码

    这个"EXTJS4.0开发手册源码"包含了EXTJS4.0框架的源代码,以及与其配套的开发指南,是深入理解EXTJS4.0内部机制和进行实际项目开发的重要参考资料。 EXTJS4.0的核心特性包括组件化开发、数据绑定、可扩展性、丰富的...

    ExtJs4.0 手册中文版

    在《ExtJs4.0 手册中文版》中,你可以找到关于ExtJS 4.0的全面介绍和详细指南。这个手册涵盖了框架的基础知识,如MVC架构、组件系统、数据绑定以及事件处理机制。此外,它还深入讲解了如何使用各种组件,如GridPanel...

    extjs4.0帮助文档 extjs-docs-4.0.2.zip

    extjs4.0开发人员以及学习可以下载参考

    EXTJS4.0视频教程 30集 下载地址

    ### EXTJS 4.0 视频教程 30集 关键知识点解析 #### 一、EXTJS 4.0 概述与安装配置 **1.1 EXTJS 4.0简介** EXTJS 4.0是一款基于JavaScript的开源前端框架,用于构建交互式的Web应用程序。它提供了一套丰富的UI组件...

    ExtJs4.0官方版本

    ExtJS 4.0是Sencha公司开发的一款强大的JavaScript前端框架,主要用于构建富客户端Web应用程序。这个官方版本的发布标志着ExtJS在功能、性能和可维护性方面的一个重要里程碑。以下将详细介绍ExtJS 4.0中的核心概念、...

    extjs4.0的高级组件tree加grid整合案例上.part3

    学习extjs资料,tree合成grid,很不错的视频文件,值得收藏

    免费 Extjs4.0教程视频

    ### 免费Extjs 4.0教程视频知识点概览 #### 第一讲:Extjs 4.0概述与Hello World程序 - **Extjs 4.0简介**: - Extjs是一款基于JavaScript的开源前端框架,用于构建交互式的Web应用程序。 - 版本4.0引入了许多新...

    ExtJS4.0中文API(chm版和网页版)

    ExtJS4.0中文API chm版:包括ExtJS4,js,jquery 网页版:全面的详细的ExtJS4.0 api

    ExtJs4.0入门教程

    ExtJs4.0入门教程,详细介绍ExtJs4.0。

    EXTjs4.0学习文档

    EXTJS 4.0 学习文档 EXTJS 4.0 是一个面向开发 RIA 的 AJAX 应用,是一个用 JavaScript 写的,主要用于创建前端用户界面,是一个与后台技术无关的前端 AJAX 框架。它能够帮助我们在页面上快速而简单构建各种各样的...

    EXTJS4.0视频教程配套代码包含action类

    在11课之后的内容,可能涉及到更复杂的服务器通信,如分页、过滤、排序和远程验证,这些都是EXTJS4.0中action类应用的重要场景。 通过参考yunchengfeng老师的视频教程,你可以学习如何创建自己的action类,设置请求...

    extjs4.0技术

    ### Extjs4.0 技术详解 #### 一、Extjs4.0 概述与获取 **Extjs4.0** 是一款强大的企业级前端框架,它可以帮助开发者快速构建复杂的用户界面,并且提供了丰富的组件和功能。对于初学者来说,理解其核心概念和基础...

    Extjs4.0中文学习手册、入门详解

    ExtJS 4.0中文学习手册、入门详解 本文为 ExtJS 4.0 的中文学习手册,旨在为初学者提供一个详细的入门指南。本手册涵盖了 ExtJS 4.0 的基础知识、环境搭建、基本使用方法等方面的内容。 1. ExtJS 4.0 的基础知识 ...

    (Java+JSP)可二次开发Extjs4.0通用后台管理系统源码完整大型项目.zip

    【标题】:“(Java+JSP)可二次开发Extjs4.0通用后台管理系统源码完整大型项目.zip”指的是一个基于Java和JSP技术,并利用Extjs4.0框架开发的可扩展的后台管理系统源码。这个项目是针对中大型企业的需求设计的,提供...

    Extjs4.0基础学习指南

    一款很好的适合Extjs4.0初学者学习的word文档,示例加上简单的标注说明,使你很快对Extjs4.0进入入门阶段,不可多得的文档,值得下载

    Extjs4.0通用后台管理系统源码完整大型项目(ExtJS 4.2+Hibernate 4.1.7+Spring MVC 3.2.8)

    可二次开发Extjs4.0通用后台管理系统源码完整大型项目。数据库在项目里面的一个sql文件里面 1、采用Spring MVC的静态加载缓存功能,在首页将Javascript文件、CSS文件和图片等静态资源文件加载进来放进内存,极大提高...

    ExtJS4.0开发笔记

    ExtJS4.0开发笔记

Global site tag (gtag.js) - Google Analytics