Javascript Dgrid-显示编号标签(即02=Cat)我想显示Cat-而不是编号

Javascript Dgrid-显示编号标签(即02=Cat)我想显示Cat-而不是编号,javascript,database,dojo,dgrid,Javascript,Database,Dojo,Dgrid,在我的Dgrid中,有一列显示事件的代码(数字格式)。 我想在dgrid中显示标签而不是数字。所以如果1=Cat。在数据库中,它显示为1-但我想在dgrid中显示“Cat”。找不到有关如何执行此操作的任何信息 帮助或指引方向会很有帮助。谢谢 更新日期:6.16.15 这是代码。我能展示的东西有限 这些是一些代码。02=XXXXX,03=XXXXX 1,依此类推。现在,dgrid将显示数字。它有点像一把钥匙。我需要它显示dgrid中数字代表的内容,而不是数字。所以02应该显示“交通停止”。还不知

在我的Dgrid中,有一列显示事件的代码(数字格式)。

我想在dgrid中显示标签而不是数字。所以如果1=Cat。在数据库中,它显示为1-但我想在dgrid中显示“Cat”。找不到有关如何执行此操作的任何信息

帮助或指引方向会很有帮助。谢谢

更新日期:6.16.15

这是代码。我能展示的东西有限

这些是一些代码。02=XXXXX,03=XXXXX 1,依此类推。现在,dgrid将显示数字。它有点像一把钥匙。我需要它显示dgrid中数字代表的内容,而不是数字。所以02应该显示“交通停止”。还不知道如何做JSFIDLE,目前也没有太多的额外时间。我只能提供有限的信息,所以我必须重新创建一个虚拟版本

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>XXXXXXXX Events</title>
    <link rel="stylesheet" href="/static/web_ui/dgrid/css/skins/slate.css">

<h1>XXXXXXXX Events</h1>

<form id="queryForm">
        <label for="XXXXXField">XXXXX Type contains:</label>
        <input id="XXXXXField" name="event_type">
        <button type="submit">Filter</button>
        <button type="reset">Reset</button>
    </form>


    <script src="/static/web_ui/dojo/dojo.js"
        data-dojo-config="async: true"></script>

    <script>
        require([
            'dojo/_base/declare',
            'dojo/dom',
            'dojo/on',
            'dstore/Rest',
            'dstore/Request',
            'dgrid/extensions/ColumnResizer',
            'dgrid/extensions/ColumnReorder',
            'dgrid/CellSelection',
            'dgrid/extensions/DijitRegistry',
        //  'dstore/Memory',
        //  'dstore/Trackable',
        //   'dstore/Cache',
            'dgrid/OnDemandGrid'
        //  'dojo/domReady!'
], function (declare, dom, on, Rest, Request, ColumnResizer, ColumnReorder, CellSelection, DijitRegistry, OnDemandGrid) {
        var store = new Rest({target:'/api/XXXXXXEvents/?format=json',
            sortParam: 'ordering', ascendingPrefix:'', descendingPrefix:'-'
    });


    //  var cacheStore = Cache.create(store, {
    //      cachedStore: new (Memory.createSubclass(Trackable)) ()
    //  });

        var grid = window.grid = new (declare([OnDemandGrid, ColumnResizer, ColumnReorder, CellSelection, DijitRegistry])) ({
        collection: store,
        selectionMode: 'single',
        sort: 'id',
    //    idProperty: 'id',

        columns: [
            {field: 'id', label:'ID', resizeable: false},
            {field: 'XXXXX_type', label:'XXXXX Type', resizeable: false},
            {field: 'XXXXX_at', label:'XXXXX Time', resizeable: false},
            {field:'XXXXX', label:'XXXXX Count', resizeable: false},
            {field:'XXXXX', label:'XXXXX', resizeable: false},
            {field:'XXXXX_info', label:'XXXXX Info', resizeable: false},
            {field:'hidden', label:'Hidden', resizeable: false},
            {field:'XXXXX', label:'XXXXX', resizeable: false},
            {field:'XXXXX', label:'XXXXX', resizeable: false}
        ]

    }, 'grid');

 grid.startup();    

    on(dom.byId('queryForm'), 'submit', function(event) {
                event.preventDefault();
                grid.set('collection', store.filter({
                    // Pass a RegExp to Memory's filter method
                    // Note: this code does not go out of its way to escape
                    // characters that have special meaning in RegExps
                    last: new RegExp("^\d+$")
                }));
            });

            on(dom.byId('queryForm'), 'reset', function() {
                // Reset the query when the form is reset
                grid.set('collection', store);
            });

    });

    </script>

</head>

 <body class="slate">
<div id="grid"></div>
</body>
</html>

XXXXXXXX事件
XXXXXXXX事件
XXXXX类型包含:
滤器
重置
要求([
“dojo/_base/declare”,
“dojo/dom”,
“dojo/on”,
“dstore/Rest”,
“数据存储/请求”,
“dgrid/extensions/ColumnResizer”,
“dgrid/extensions/ColumnReorder”,
“dgrid/CellSelection”,
“dgrid/extensions/DijitRegistry”,
//“数据存储/内存”,
//“数据存储/可跟踪”,
//“数据存储/缓存”,
“dgrid/OnDemandGrid”
//“dojo/domReady!”
],函数(声明、dom、on、Rest、请求、ColumnResizer、ColumnReorder、CellSelection、DijitRegistry、OnDemandGrid){
var store=new Rest({target:'/api/xxxxxx events/?format=json',
排序图:“排序”,升序前缀:“”,降序前缀:-”
});
//var cacheStore=Cache.create(存储{
//cachedStore:new(Memory.createSubclass(Trackable))()
//  });
var grid=window.grid=new(声明([OnDemandGrid,ColumnResizer,ColumnReorder,CellSelection,DijitRegistry]))({
收藏:商店,
selectionMode:'单一',
排序:“id”,
//idProperty:“id”,
栏目:[
{字段:'id',标签:'id',可调整大小:false},
{字段:“XXXXX类型”,标签:“XXXXX类型”,可调整大小:false},
{字段:'XXXXX_at',标签:'XXXXX Time',可调整大小:false},
{字段:“XXXXX”,标签:“XXXXX计数”,可调整大小:false},
{字段:“XXXXX”,标签:“XXXXX”,可调整大小:false},
{字段:'XXXXX _info',标签:'XXXXX info',可调整大小:false},
{字段:'hidden',标签:'hidden',可调整大小:false},
{字段:“XXXXX”,标签:“XXXXX”,可调整大小:false},
{字段:“XXXXX”,标签:“XXXXX”,可调整大小:false}
]
}“网格”);
grid.startup();
on(dom.byId('queryForm'),'submit',函数(事件){
event.preventDefault();
grid.set('collection',store.filter({
//将RegExp传递给内存的filter方法
//注意:这段代码并不是特意用来转义的
//在regexp中具有特殊含义的字符
最后:新RegExp(“^\d+$”)
}));
});
在(dom.byId('queryForm'),'reset',function()上{
//重置表单时重置查询
grid.set('collection',store);
});
});

您需要使用列格式化程序功能来呈现数据

检查一下那边的房间

检查一下例子

我已采取的例子,并根据您的需要修改

require([
    'dgrid/Grid',
    'dojo/domReady!'
], function(Grid) {
    var data = [

        { id: 1, number: 7 },
        { id: 2, number: 8 },
        { id: 3, number: 9 }
    ];

    function testFormatter(item){
                //console.log(item,typeof(item));
                var newItem;
                if ( item == 7 ) 
                    newItem = 'Dog'
                else if ( item == 8 )
                    newItem = 'Cat'
                 else if ( item == 9 )
                    newItem = 'Bird'
         return newItem;

    }

    var columnsFormatter = [
                {
                    label: "Number",
                    field: "number",
                    formatter: testFormatter
                }
            ];

    var grid = new Grid({
        columns: columnsFormatter
    }, "gridcontainer");;
    grid.renderArray(data);
});

如果可以,请共享一些相关代码和JSFIDLE。对于这种类型的转换,通常更适合使用
get
函数,而不是
formatter
;在这种情况下,您可以将其替换为
格式化程序
,而无需进行其他更改。这样做的好处是避免了XSS的可能性,因为格式化程序函数的返回值被视为HTML片段。同时,请注意,排序不受
get
formatter
的影响,因为它发生在存储请求之后,因此如果您希望对转换后的值进行排序,则必须在存储端进行。我会这样做!非常感谢。