如何在xml中将字符转换为字符串以便在extjs中显示

时间:2012-10-10 07:45:48

标签: extjs extjs4

这是XML文件:

<ROOT>
    <R FN="Ganapati" LN="Jena" Com="PC"  />
    <R FN="Chandra" LN="Reddy" Com="PC"/>
    <R FN="Charn" LN="Raj" Com="PC"/>
    <R FN="Sunil" LN="Kumar" Com="PC"/>
    <R FN="Muni" LN="Kiran" Com="PC"/>
    <R FN="Raghu" LN="Kiran" Com="PC"/>
    <R FN="Suresh" LN="Kiran" Com="PC"/>
    <R FN="Naresh" LN="Kiran" Com="PC"/>
    <R FN="Ranjith" LN="Kiran" Com="PC"/>
</ROOT> 

请注意代码中的Com="PC"。我想改为显示“Point Cloud”,那么我应该如何在ExtJS中映射它?

这是我的ExtJS代码:

        {name: 'FN',mapping:'@FN'},
        { name: 'LN',mapping:'@LN'},
        { name: 'Com',mapping:'@Com'}              
    ])
});

var grid = new Ext.grid.GridPanel({
    store: store,
    columns: [
        {header: "FN", width: 120, dataIndex: 'FN'},
        {header: "LN", width: 100, dataIndex: 'LN'},
        {header: "Com", width: 115, dataIndex: 'Com'}
    ],

    // ...
});

1 个答案:

答案 0 :(得分:1)

尝试使用这样的渲染器:

function renderCom(val, metadata, record) {
    if (val == "PC") {
        return "Point Cloud";
    } else if ( val == "SE") {
        return "Something Else";
    } else {
        return val; // if nothing matches return the original value
    }
}

var grid = new Ext.grid.GridPanel({
store: store,
columns: [
    {header: "FN", width: 120, dataIndex: 'FN'},
   {header: "LN", width: 100, dataIndex: 'LN'},
    {header: "Com", width: 115, dataIndex: 'Com', renderer: renderCom}

],