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

How can I filter a rendered column on a grid in Ext.js 4.2.0

本文关键字:网格 过滤 Ext js      更新时间:2023-09-26

我的网格上有一列,它是根据所选语言呈现的。当我过滤这一列时,我只能找到基于原始语言的结果。我怎样才能使过滤对使用不同语言的人有效?

我的列代码现在看起来像这样:(例如:标签。statusDraft是所选语言中草稿的动态名称)

{
  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;
            }               
},  

列中的过滤器只能过滤数据中提供给它的信息。

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

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

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