Javascript 如何在Ext.js 4.2.0中过滤网格上的渲染列

Javascript 如何在Ext.js 4.2.0中过滤网格上的渲染列,javascript,extjs,xpages,Javascript,Extjs,Xpages,我的网格中有一列是基于所选语言呈现的。当我筛选此列时,我只能找到基于原始语言的结果。我如何使过滤适用于使用不同语言的人 我的列代码如下所示: (例如:labels.statusDraft是所选语言中草稿的动态名称) 列中的筛选器只能筛选数据中提供给它的信息 如果要在notes文档中存储单个值,并在XPage上向客户显示翻译值,则只需对数据源执行类似的操作 假设您正在使用ExtLib REST服务提供数据(或者如果您自己提供数据,它仍然适用),那么您需要做的是在REST服务中创建一个手工制作的列,

我的网格中有一列是基于所选语言呈现的。当我筛选此列时,我只能找到基于原始语言的结果。我如何使过滤适用于使用不同语言的人

我的列代码如下所示: (例如:labels.statusDraft是所选语言中草稿的动态名称)


列中的筛选器只能筛选数据中提供给它的信息

如果要在notes文档中存储单个值,并在XPage上向客户显示翻译值,则只需对数据源执行类似的操作

假设您正在使用ExtLib REST服务提供数据(或者如果您自己提供数据,它仍然适用),那么您需要做的是在REST服务中创建一个手工制作的列,并在发送数据之前进行转换

在这种情况下,您需要在数据库中存储“Status”的别名版本,而不仅仅是原始语言值。这样你就可以像这样在飞行中进行翻译了

{
  text: labels.Status,
  width: 100,
  sortable: true,
  dataIndex: 'btStatus',
  filterable: true,
  field: {xtype: 'textfield'},              
  renderer: function(value){
            switch(value){
            case 'draft':
              status=labels.statusDraft;
              break;
            case 'approvalRequested':
              status=labels.statusApprovalRequested;
              break;
            case 'approved':
              status=labels.statusApproved;
              break;
            case 'rejected':
              status=labels.statusRejected;
              break;
            case 'archived':
              status=labels.statusArchived;
              break;
            default:
              status= value;
            };
            return status;
            }               
},