• Extjs 动态改变列名


    1. 列名与对应的值是动态改变的,也就是说要展示的列名可能随时改变。
      首先选择了默认的列作为显示,在tbar中加入一个按钮弹出所有可能要显示的列名,选择后将对应的列名与值显示在grid中,例如

      身份证号码        男性       青年    中年       商人
      3424××          是          否      是         是
      1234××          否           是      否        否

      Js代码 复制代码
      1. function createRecordValue(){   //动态生成recordValue   
      2.         var tempValue = new Array();   
      3.         var j = 0;   
      4.         tempValue[j] = {name:'UserId'};   
      5.         for(var i = 0 ;i < amdValue.length;i++){   
      6.             tempValue[++j] = {name: "N"+amdValue[i]}; //列名   
      7.             tempValue[++j] = {name: "V"+amdValue[i]};//列名对应的值   
      8.         }   
      9.         return tempValue;          
      10. }   
      11.        
      12.     function createColumn(){//动态生成列名,amdValue为要显示的列的数组   
      13.         var tempColumn = new Array();   
      14.         var j = 0;   
      15.         tempColumn[j] = {header:'身份证号',dataIndex:'UserId',sortable:true,renderer:getUserInfo};   
      16.         for(var i = 0;i < amdValue.length;i++){   
      17.             tempColumn[++j] = {header:"N"+amdValue[i],dataIndex:"V"+amdValue[i],id:"V"+amdValue[i],sortable:true};   
      18.         }   
      19.         return tempColumn;   
      20.     }   
      21.   
      22. //动态设置列名   
      23. var index = cm.getIndexById("V"+amdValue[i]);   
      24.                         var str = r[0].get("N"+amdValue[i]);//r[]后台返回的记录集;amdValue[i]是要显示的列的关键字   
      25.                         cm.setColumnHeader(index,str);   
      26.   
      27. //刷新CM,STORE   
      28. grid.reconfigure(store, cm);  

  • 相关阅读:
    jquery学习整理2 管理jQuery包装集
    _#结构还是内容
    【兼容】透明背景
    ☀【CSS3】文本阴影 textshadow
    ☀【CSS3】文本描边 textstroke / 文本填充色 textfillcolor
    ☀【zindex】
    _#【布局】block 与 inline 都有哪些元素
    【兼容】下划线跑出来啦
    【js】document.selection.createRange().text
    _#【语义】推荐使用的元素
  • 原文地址:https://www.cnblogs.com/hannover/p/1924395.html
Copyright © 2020-2023  润新知