如何在ag-grid的字段列定义中对嵌套属性进行排序?

时间:2019-02-26 05:49:03

标签: angular ag-grid

var data = [{
   id: {
        id: "108662", 
        absoluteUri:"abc.com", 
        devicedisplayId: "045551"
       }
  devicename: "Printer"
}]

var columnDefs = [

     {
      headerName: 'Device Id', field: 'id',filter:
      'agTextColumnFilter',sortable: true,
      filterValueGetter : function(params) {
         return params.data.id.devicedisplayId;
      },
     cellRenderer: function(params) {
        return '<a href=" ' + params.value.absoluteUri + '" target="_blank">' + 
                 params.value.devicedisplayId+ '</a>';
      }
   }

我嵌套了data.want以实现基于devicedisplayId的排序。我已经使用filterValueGetter进行过滤,但没有遇到任何此类功能进行排序。

1 个答案:

答案 0 :(得分:0)

对于自定义排序功能,您可以像这样在列定义中使用 比较器 方法。

    comparator: (id1, id2) => {
    if (id1.devicedisplayId < id2.devicedisplayId) {
      return -1;
    }
    if (id1.devicedisplayId < id2.devicedisplayId) {
      return 1;
    }
    return 0;
    }

检查ag-grid文档中的自定义排序以了解更多详细信息-https://www.ag-grid.com/javascript-grid-sorting/#custom-sorting