【问题标题】:How to modify fields before rendering it to the grid in Extjs如何在将字段渲染到 Extjs 中的网格之前修改字段
【发布时间】:2016-03-28 12:48:07
【问题描述】:

在将数据渲染到 ExtJs 中的网格之前,我必须为从存储中获取的数据附加一个值。

请指导我实现上述功能。

目前网格的填充方式如下:

Ext.define("MyApp.view.ShowDetails",{
    extend: 'Ext.grid.Panel',
    requires:['MyApp.store.MyStore'],
    store:'MyStore', 
    stateId: 'stateGrid',
    selType : 'checkboxmodel', 
    selModel : {
    mode : 'MULTI'
    }, 
    plugins : [Ext.create('Ext.grid.plugin.RowEditing', {
    clicksToEdit : 2
     })],

    defaultType: 'textfield',
     columns: [
              {
                  header: 'Userid',
                  width: 150,
                  dataIndex: 'uid',
          editor : 
                {
                    allowBlank : true
                }

              }, 
             ...

【问题讨论】:

  • 你能解释一下吗?一个例子会很有用
  • @ankitchaudhary 例如。如果从商店获取的 ID 是“A123”,我想在网格中显示之前附加一个后缀为“A123D”

标签: extjs extjs4 extjs4.1 extjs4.2 extjs3


【解决方案1】:

是的,这是可能的,在 MODEL

的字段声明中使用 convert 属性

一个例子:

 {
            name: 'uid',
            type: 'string',
            convert: function (value, record) {
                if (!value)
                    return value+'D';
                else
                    return value;

            }
        },

【讨论】:

  • 谢谢很多 ankit 4 你的帮助 :)
  • 如果它解决了你的问题..请你接受答案。它也会帮助其他人。
  • 但是还有一个问题,上面的解决方案会在网格中渲染修改后的值,但是当值从网格更新到存储时,它仍然会在文本中附加'D'。
猜你喜欢
  • 1970-01-01
  • 2013-07-31
  • 1970-01-01
  • 2011-05-23
  • 1970-01-01
  • 2012-02-07
  • 1970-01-01
  • 2012-02-25
  • 1970-01-01
相关资源
最近更新 更多