如何在 EXTJS 网格中实现排序



我在extjs网格中遇到了问题。我有两个网格列,一个是名称,另一个是显示名称,但我想在两列中按名称排序意味着我显示名称和名称。当用户在两个列参数中应用排序时,在两种情况下,网格传递的排序都是 sort= 名称。

[
        {
            header: 'Name',
            dataIndex: 'name',
            shortable: true
        },
        {
            header: 'DisplyName',
            dataIndex: 'displayName',
            shortable: true
        }
    ]

IMO,您可以在网格存储的 beforesort 事件句柄函数中执行此操作。喜欢这个:

	 // here is the key point
	listeners: {
	    beforesort: function(st, sorters) {
	      console.log(sorters, st);
	      if (sorters.length == 1 && sorters[0].property == 'displayName') {
	        sorters[0].property = 'name';
	      }
	    }
	  }
	  // here is the key point end

一个活生生的例子

最新更新