Ext4 Tree前台后台示例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_33704704/article/details/86519847

示例

前台:

var xxxStore=Ext.create('Ext.data.TreeStore',{

              fields : [{name : 'id', type : 'string'},

              {name : 'text', type : 'string'},

              {name : 'leaf', type : 'bool', defaultValue: false},

              {name : 'type', type : 'string'}],

        autoLoad: false,

        listeners:{

        load: function(store, records, successful, eOpts){

               if(records.childNodes.length > 0){

                      records.childNodes[0].expand();

                      tree.getSelectionModel().select(records.childNodes[0]);

                      if(records.childNodes[0].childNodes.length > 0){

                             records.childNodes[0].childNodes[0].expand();

                             tree.getSelectionModel().select(records.childNodes[0].childNodes[0]);

                             if(records.childNodes[0].childNodes[0].childNodes.length > 0){

                                    records.childNodes[0].childNodes[0].childNodes[0].expand();

                                     tree.getSelectionModel().select(records.childNodes[0].childNodes[0].childNodes[0].childNodes[0]);

                                     tree.fireEvent('itemclick', tree, records.childNodes[0].childNodes[0].childNodes[0].childNodes[0]);

                             }else{

                               xxxItemGird.getStore().removeAll();

                        }

                      }else{

                              xxxItemGird.getStore().removeAll();

                       }

               }else{

                      xxxItemGird.getStore().removeAll();

               }

        }

        }

    });

   

       var tree = Ext.create('Ext.tree.Panel', {

        //title: ' ', 

        width: '100%',

        height: '100%',

        flex:1,

        rootVisible: false,

        store: xxxStore,

        listeners:{

                     'itemclick': function tree_event(el,record, item, index, e, eOpts){

                            if(record.get("type") == "TABNAME"){

                                   queryParamStore = record.get('id');

                                   xxxItemGird.getStore().currentPage = 1;

                                   xxxItemGird.getStore().reload({

                                          params : {

                                                 queryParam: record.get('id'),

                                                 start : 0,

                                           limit: cellGirdLimit

                                          }

                                   });

                            }

                     }

              }

});

xxxStore.setProxy({

        type:'ajax',  url:'/xxx/xxx/xxx.do',

        getMethod: function(){

            return 'POST';

       },//亮点,设置请求方式,默认为GET  

      extraParams:{}

    });

   xxxStore.load();

后台:

public Map<String,Object> getTree(HttpServletRequest request) {

              String queryParam = request.getParameter("queryParam");

              //查询树中所有的平台

               List<Map<String,Object>> allPlatform = xxx.getxxx(queryParam);

               List<Map<String,Object>> treeMap= new ArrayList<Map<String,Object>>();

               //平台

               for(int i=0; i < allPlatform.size(); i++){

                      List<Map<String,Object>> dbnameListMap= new ArrayList<Map<String,Object>>();

                      Map<String,Object> allPlatformMap = new HashMap<>();

                      allPlatformMap.put("id", allPlatform.get(i).get("PLATFORM")+"");

                      allPlatformMap.put("text", allPlatform.get(i).get("PLATFORM"));

                      allPlatformMap.put("type", "PLATFORM");

                      allPlatformMap.put("children", dbnameListMap);

                      //查询树种所有的数据库名

                      List<Map<String,Object>> allDbname = xxx.getxxx(xxx);

                      //数据库

                      for (Map<String, Object> map : allDbname) {

                             List<Map<String,Object>> ownerListMap= new ArrayList<Map<String,Object>>();

                             Map<String,Object> dbnameMap = new HashMap<>();

                             dbnameMap.put("id", allPlatformMap.get("id")+","+map.get("DBNAME"));

                             dbnameMap.put("text", map.get("DBNAME") == null?"默认":map.get("DBNAME"));

                             dbnameMap.put("type", "DBNAME");

                             dbnameMap.put("children", ownerListMap);

                             //查询树中所有的所属用户

                             List<Map<String,Object>> allowner = xxx.getxxx(xxx);

                             //所属用户

                             for (Map<String, Object> map2 : allowner) {

                                    List<Map<String,Object>> tabnameListMap= new ArrayList<Map<String,Object>>();

                                    Map<String,Object> ownerMap = new HashMap<>();

                                    ownerMap.put("id",dbnameMap.get("id")+","+map2.get("OWNER"));

                                    ownerMap.put("text", map2.get("OWNER") == null?"默认":map2.get("OWNER"));

                                    ownerMap.put("type", "OWNER");

                                    ownerMap.put("children", tabnameListMap);

                                    //查询树中所有的表名

                                    List<Map<String,Object>> allTabname = xxx.getxxx(xxx);

                                    //表名

                                    for (Map<String, Object> map3 : allTabname) {

                                           List<Map<String,Object>> columnameListMap= new ArrayList<Map<String,Object>>();

                                           Map<String,Object> tabnameMap = new HashMap<>();

                                           tabnameMap.put("id", ownerMap.get("id")+","+map3.get("TABNAME"));

                                           tabnameMap.put("text", map3.get("TABNAME"));

                                           tabnameMap.put("type", "TABNAME");

                                           tabnameMap.put("children", columnameListMap);

                                           tabnameMap.put("leaf", true);

                                           tabnameListMap.add(tabnameMap);

                                    }

                                    ownerListMap.add(ownerMap);

                             }

                             dbnameListMap.add(dbnameMap);

                      }

                      treeMap.add(allPlatformMap);

               }

               Map<String,Object> roomMap = new HashMap<>();

               roomMap.put("text", "平台");

               roomMap.put("type", "platformRoot");

               roomMap.put("children", treeMap);

               return roomMap;

       }

猜你喜欢

转载自blog.csdn.net/sinat_33704704/article/details/86519847