ExtJs的grid中,如果指定列的默认值(空值时显示默认值),有没有这个属性?
列是动态的:对month循环,添加列
columns.push({header:'销售额',dataIndex:'xs_'+month,width:100})假如month为1,我希望当数据库没有取到xs_1的值时,单元格显示“-”而不是空白

解决方案 »

  1.   

    columns:({header:'销售额',dataIndex:'xs_'+month,width:100,renderer:renValue})function renValue(value)
    {
      if{value != "")
      {return value;}
      else
      {return "-";}
      

  2.   

    可以参考
     <script type="text/javascript">
    Ext.onReady(function(){
    //创建表格数据
    var data = [
    [1,'张三','man',new Date(1979,09,13),29],
    [2,'李四','woman',new Date(1978,10,01),30],
    [3,'王五','man',new Date(1981,01,01),27]
    ];
    //创建记录类型Person,mapping值为字段值对应数组中数据的索引位置
    var Person = Ext.data.Record.create([
    {name: 'personId',mapping: 0},
    {name: 'personName',mapping: 1},
    {name: 'personSex',mapping: 2},
    {name: 'personBirthday',mapping: 3},
    {name: 'personAge',mapping: 4},
    ]);
    //创建Grid表格组件
    new Ext.grid.GridPanel({
    title : '自定义表格渲染函数示例',
    applyTo : 'grid-div',
    width:430,
    height:150,
    frame:true,
    store: new Ext.data.Store({//配置数据集
    reader: new Ext.data.ArrayReader({id:0},Person),
    data: data
    }),
    columns: [//配置表格列
    {header: "id", width: 30, dataIndex: 'personId'},
    {header: "姓名", width: 80, dataIndex: 'personName'},
    {header: "性别", width: 80, dataIndex: 'personSex',renderer:formatSex},
    {header: "生日", width: 100, dataIndex: 'personBirthday',renderer:Ext.util.Format.dateRenderer('Y年m月d日')},
    {header: "年龄", width: 80, dataIndex: 'personAge',renderer:formatAge}
    ]
    })
    //定义渲染函数
    function formatSex(value){
    return value=='man'?'男':'<font color=red>女</font>';
    }
    function formatAge(value,metadata){
    if(value < 30){
    metadata.attr = 'style="background-color:#CCFFFF"';
    }
    return value;
    }
    });
      </script>