在网格extjs中显示减号。仅显示NOT将值更改为减号

时间:2014-09-23 06:19:20

标签: extjs

我是分机的新来者。 我想在网格ext js中显示一个字段。字段类型为smallint。让我们说它是“Dayfrom”。我想在网格中显示DayFrom,如减去(-3)天而不计算值。仅显示在网格中。

我已经尝试过这个。但没有工作

var s = Ext.String.format('<div class="{0}">{1}</div>','-','--');

storePendingApprovalDetail = Ext.create('Ext.data.Store', {
    storeId: 'pendingapprovaldetail-store',
    model: 'pendingapprovaldetail-model',
    sorters: ['DayFrom']
});
gridPendingApprovalDetail = Ext.create('Ext.grid.Panel', {
    store: 'pendingapprovaldetail-store',
    columns: [{
        text: 'Day From',
        flex: 1,
        renderer: s,
        dataIndex: 'DayFrom'
    }, {
        text: 'Day To',
        flex: 1,
        dataIndex: 'DayTo'
    }, {
        text: 'Frequent',
        flex: 1,
        dataIndex: 'Frequent'
    }],
    dockedItems: [{
        xtype: 'toolbar',
        items: [actAddPendingApprovalDetail, actEditPendingApprovalDetail, actDeletePendingApprovalDetail]
    }],
    listeners: {
    }
});

2 个答案:

答案 0 :(得分:0)

您是否在http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.column.Column-cfg-renderer处查看了渲染器示例?

你真的知道Ext.String.format的作用吗?如果没有,请阅读http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.String-method-format

如果您已经这样做并且理解了,那么渲染器的代码将是这样的:

renderer: function(value){
    if(typeof value=="number") return -value;
    return value;
}

答案 1 :(得分:0)

非常感谢伙伴...... :)

我正在使用它并且它可以正常工作

gridPendingApprovalDetail = Ext.create('Ext.grid.Panel', {
    store: 'pendingapprovaldetail-store',
    columns: [{
        text: 'Day From',
        flex: 1,
        dataIndex: 'DayFrom', renderer: function (value, metaData, record, rowIndex, colIndex, store) {
            var returnString = "-" + value;
            return returnString;
        }
    }, {
        text: 'Day To',
        flex: 1,
        dataIndex: 'DayTo'
    }, {
        text: 'Frequent',
        flex: 1,
        dataIndex: 'Frequent'
    }],
    dockedItems: [{
        xtype: 'toolbar',
        items: [actAddPendingApprovalDetail, actEditPendingApprovalDetail, actDeletePendingApprovalDetail]
    }],
    listeners: {
    }
});