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

时间:2014-03-14 11:21:17

标签: javascript extjs xpages

我的网格上有一个基于所选语言呈现的列。当我过滤此列时,我只能根据原始语言找到结果。如何使用不同语言的人进行过滤?

该列的代码现在看起来像这样: (例如:labels.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;
            }               
},  

1 个答案:

答案 0 :(得分:1)

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

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

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

在这种情况下,您需要在数据库中存储别名版本的“状态”,而不仅仅是原始语言值。然后,这将允许您像这样在飞行中进行翻译。