精华内容
下载资源
问答
  • extjs 遍历树 修改图标

       上篇文章介绍了一个后台产生故障,前台接受修改树节点的icon,这是相对的故障解决之后,根据修改的故障等级和故障的设备id,来修改相应icon。

    相应的逻辑是,当页面确定消除故障是,会根据故障等级和设备id去数据库消除,然后再action层获取数据(这边方法下一个文章说一下),前台就根据这个子节点去修改当前的icon,然后选中子节点的父节点 ,去遍历当前子节点判断当前父节点最高的故障等级是不是消除的故障等级,如果是就修改成消除之后的最大故障等级,如果不是,只修改当前子节点的icon,其他不变。

      var faultinfo = JSON.parse(event.data);
        var roonodes = treeForTab.getRootNode().childNodes;
        for(var i=0;i<faultinfo.length;i++){
            
            findchildnode(roonodes[0],faultinfo[i]);
        }
        // 获取主节点
         // 开始递归
        function findchildnode(roonodes,data) {
            var faultLevel = data.faultMaxLevel;
            var moduleId = data.moduleId;
            var childnodes = roonodes.childNodes;
            for (var i = 0; i < childnodes.length; i++) { // 从节点中取出子节点依次遍历
                var rootnode = childnodes[i];
                var maxLevel = rootnode.get("faultMaxLevel");
                var rootnodeModuleId = rootnode.get("moduleId");
                if (moduleId == rootnodeModuleId&&rootnode.childNodes.length==0) {
                    //if (maxLevel >faultLevel) {
                        rootnode.set("faultMaxLevel",faultLevel);
                        var imgUrl = setImg(rootnode,faultLevel)
                        if(imgUrl!=null){
                            var parentnode = rootnode.parentNode;
                            findnownode(parentnode);
                        }
                        
                    
                    //}
                }
                if (rootnode.childNodes.length > 0) { // 判断子节点下是否存在子节点,个人觉得判断是否leaf不太合理,因为有时候不是leaf的节点也可能没有子节点
                    findchildnode(rootnode,data); // 如果存在子节点 递归
                }
            }
            
        }
        function findnownode(parentnode) {
            var childNodes = parentnode.childNodes;
            var pLevel = parentnode.get("faultMaxLevel");
            var maxLevel = 0 ;
            for (var i = 0, l = childNodes.length; i < l; i++) {
                var child = childNodes[i];
                var level = child.get("faultMaxLevel");
                maxLevel = level>maxLevel?level:maxLevel;
                
            }
    
            if (maxLevel!=pLevel){
                parentnode.set("faultMaxLevel",maxLevel);
                setImg(parentnode,maxLevel);
                // 设置parent的最大level
                // 设置图片
                var pNode = parentnode.parentNode;
                if (null != pNode) {
                    findnownode(pNode);
                }
    
            }
        }
        
        function setParentIcon(node, icon) {
            var parent = node.parentNode;
            if (parent != null) {
                parent.set("icon", icon);
            }
        }
        function setImg(rootnode,faultLevel) {
            var imgUrl = null;
            if (faultLevel == 5) {
                imgUrl = "image/Notice16.png"
            } else if (faultLevel == 10) {
                imgUrl = "image/GeneralWarning16.png"
            } else if (faultLevel == 15) {
                imgUrl = "image/UrgentWarning16.png"
            } else if(faultLevel == 20){
                imgUrl = "image/SeriousWarning16.png"
            }else if(faultLevel == 0){
                imgUrl ='';
            }
            if (imgUrl !=null) {
                rootnode.set("icon", imgUrl);
            }
            return imgUrl;
        }


    展开全文
  • extjs遍历json集合问题

    2016-04-09 20:03:23
    后台使用级联查询两个表数据,向前段输出一个json集合,前台应该如何接收该json集合,以及前台如何将json遍历出来? 附上json格式:{"datas":[{"cash":123,"consumerId":"402881f353e4650e0153e544f6ce0004",...
  • ExtJS 遍历集合

    2013-09-22 10:12:47
    Ext.onReady(function() { var panel = new Ext.Panel({ title : '集合调用Ext.each的处理', renderTo : Ext.getBody(), width : '280px', ... 遍历集合 */ var array = ...
    <script type="text/javascript">
    
    Ext.onReady(function() {
    var panel = new Ext.Panel({
    title : '集合调用Ext.each的处理',
    renderTo : Ext.getBody(),
    width : '280px',
    html : "<div style='height:160px'></div>"
    });
    /**
    遍历集合
    */
    var array = [], i;//定义一个集合
    for (i = 0; i < 10; i++) {//为集合添加元素
    Ext.Msg.alert('','pushs');
    array.push(i);
    }
    function fn(item, index, allItems) {//对集合元素追加字符串处理
    if (item > 5) {
    return false;
    } else {
    allItems[index] = item + "_st";
    }
    }
    function fn1(item, index, allItems) {//打印集合处理函数、
    if (index > 0)
    return false;

    Ext.Msg.alert('最后结果', "<div style='width:160px'>最后集合为:"
    + allItems + "</div>");
    }
    Ext.each(array, fn);
    Ext.each(array, fn1);
    });
    </script>
    展开全文
  • Extjs遍历Store里面的record

    千次阅读 2017-04-06 09:26:52
    1、使用each var jsonArray=[]; store.each(function (record) { jsonArray.push(record.get('ORGID')); }); 2、使用for循环 var jsonArray=[]; for(var i=0;istore.getCount();... var recored =

    1、使用each
    var jsonArray=[];
    store.each(function (record) {

        jsonArray.push(record.get('ORGID'));
    });

    2、使用for循环
    var jsonArray=[];
    for(var i=0;i<store.getCount();i++){
        var recored = store.getAt(i);    
    	jsonArray.push(record.get('ORGID'));
    }

    展开全文
  • EXTJS 遍历

    千次阅读 2011-04-25 19:23:00
    //获取树的根节点 function setNodeDrag(cNo,pid){//遍历节点根据panelID查找相应的节点设置draggalbe为true var childnodes = cNo.childNodes;//获取根节点的子节点 for(var i=0; i var cNode = childnodes[i];

    var rootN=Ext.getCmp('treepanel').getRootNode();//获取树的根节点
            function setNodeDrag(cNo,pid){//遍历节点根据panelID查找相应的节点设置draggalbe为true
                var childnodes = cNo.childNodes;//获取根节点的子节点
                for(var i=0; i < childnodes.length; i++){
                   var cNode = childnodes[i];
                   if(cNode.id == pid)
                   {
                     cNode.draggable = true;
                   }
                   if(cNode.hasChildNodes()){
                     setNodeDrag(cNode,pid);//递归调用
                   }
                }
            }

    setNodeDrag(rootN,panel.id);//调用函数

    展开全文
  • Extjs 遍历datastore 的方法

    千次阅读 2012-05-15 17:58:05
    这比是我在项目中用到的一个方法,用于遍历数据,根据条件改变每行的背景颜色。 代码如下: function changerowcolor() { caseListGridPanel.getStore().on('load', function(s, records) { var girdcount =...
  • extjs遍历树节点

    2011-03-30 16:17:20
    //遍历所有的节点 ,除了编辑节点外,所有的节点采集标志位为0 function setChildNode(node,selectNode){ if(node != selectNode) { node.acqFlg = 0; }  var childnodes = node.childNodes;  Ext.each...
  • var selNodes = Ext.getCmp("modelListadd").getChecked();//treepanel的id  var userList = new Array();  Ext.each(selNodes, function (node) {  //if (node.data.leaf) {  var user
  • 按条件筛选一个数组中的数据,保存到一个新的数组中 //筛选条件 var arr1 = ['1001','1002','1003','1004']; //待筛选的数组 ...var arr2 = ['1001','2002','...//遍历 Ext.Array.forEach(arr2 , function(item) ...
  • extjs grid 遍历

    2012-10-19 09:59:26
    extjs grid 遍历
  • ExtJS遍历Store

    千次阅读 2018-06-20 12:42:25
    ExtJS中,一般很少需要遍历Store,因为它的selectModel很好用,无论是单行选择还是checkbox的多行选择,都可以根据Grid的XXXGrid.getSelectionModel().getSelections().length获得选择信息,但是在特殊情形下还是...
  • Extjs grid 遍历store

    2017-04-24 12:41:00
    var projectMemberGrid = Ext.getCmp("projectMemberGrid"); var selFuns = [];  projectMemberGrid.store.each(function(rec){  selFuns.push(Ext.encode(rec.data)); ......
  • ![图片说明](https://img-ask.csdn.net/upload/201708/16/1502878597_984197.png) 这些按钮是我写死的 我想要从数据库查询出 求大神赐教!!!!!!!
  • } //图片宫格主要用了ExtJs的DataView,这段代码写在view层的最上面,作用是展示从后台取到的图片。可以用html标签展示。 //“var imageTpl”是给下面的一个引用 var imageTpl = new Ext.XTemplate( '', ' ', ...
  • [转]ExtJS遍历Store

    2016-03-22 10:32:00
    ExtJS中,一般很少需要遍历Store,因为它的selectModel很好用,无论是单行选择还是checkbox的多行选择,都可以根据Grid的 XXXGrid.getSelectionModel().getSelections().length 获得选择信息,但是在...
  • ExtJs-遍历Formpanel中所有控件

    千次阅读 2018-04-25 15:34:21
    //============================遍历方法  alert( BookPanel.items);   BookPanel.items.each(function(item,index,length){   alert(item.getName());  alert(item.initialConfig.name);  alert(item....
  • //图片宫格主要用了ExtJs的DataView,这段代码写在view层的最上面,作用是展示从后台取到的图片。可以用html标签展示。 //“var imageTpl”是给下面的一个引用 var imageTpl = new Ext.XTemplate( ' for=".">'...
  • Store作为数据的载体,通过下面的方法可以获得Store内的数据; 1 Ext.define('haomlGeimjTongjGrid_store_data', { 2 extend: 'Ext.data.Model', 3 fields: ['id', 'jizcode', 'name', 'gaokgl', 'gaokdl', '...
  • if (typeof (Page) == 'undefined' || Page == null) { Page = {}; } /** * 版型选择画面 */ ...Ext.apply(Page.ChooseTemplate, { ... JS_NO: 'JS13', // 用于生成控件ID,防止控件ID重复 ... * 生成template模板...
  • ![图片说明](https://img-ask.csdn.net/upload/201708/16/1502878882_560898.png) 这个button 是我写死的 ,我想要从后台数据库拿取到动态名称 。求大神赐教!!!!!
  • //从节点中取出子节点依次遍历   var   rootnode = roonodes[i];   alert(rootnode.text);   if (rootnode.childNodes.length>0){  //判断子节点下是否存在子节点,个人觉得判断是否leaf...
  • 今天帮朋友解决了一个问题:使用ExtJs的TreePanel控件,如何得到树的第一个叶子节点的信息。
  • Extjs获取JSON数据和遍历集合

    千次阅读 2016-11-09 23:41:14
    最近接触的Extjs的一些用法:获取后台返回的JSON数据(Ext.util.JSON.decode ),遍历(Ext.each)域中的集合。 1、 var id = form.findField('id').getValue(); Ext.Ajax.request( { url : 'xxxAction.do?...
  • 现在用Extjs的grid控件。 目前有需求通过输入开始及结束行号,遍历grid并修改所输入行号对应行的值。 例如: RowNo Data 1 False 2 False 3 False 4 False 在另一个弹出框输入 行号:2 ~ 4。 那么我想...
  • var grid = Ext.create('Ext.grid.Panel', { store: store, columns: [ { header: '序号', dataIndex: 'xuhao', sortable : false, width: 100 } , { header: '名称', ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,777
精华内容 1,510
关键字:

extjs遍历