Angular 如何对ag grid字段列定义中的嵌套属性进行排序? var数据=[{ 身份证:{ id:“108662”, absoluteUri:“abc.com”, devicedisplayId:“045551” } devicename:“打印机” }] var columnDefs=[ { 标题名称:“设备Id”,字段:“Id”,筛选器: “agTextColumnFilter”,可排序:true, filterValueGetter:函数(参数){ 返回params.data.id.devicedisplayId; }, cellRenderer:函数(参数){ 返回“”; } }

Angular 如何对ag grid字段列定义中的嵌套属性进行排序? var数据=[{ 身份证:{ id:“108662”, absoluteUri:“abc.com”, devicedisplayId:“045551” } devicename:“打印机” }] var columnDefs=[ { 标题名称:“设备Id”,字段:“Id”,筛选器: “agTextColumnFilter”,可排序:true, filterValueGetter:函数(参数){ 返回params.data.id.devicedisplayId; }, cellRenderer:函数(参数){ 返回“”; } },angular,ag-grid,Angular,Ag Grid,我有嵌套数据。希望实现基于devicedisplayId的排序。我使用filterValueGetter进行筛选,但没有遇到任何此类函数w.r.to排序。对于自定义排序函数,可以使用列定义中的comparator方法,如下所示 var data = [{ id: { id: "108662", absoluteUri:"abc.com", devicedisplayId: "045551" } devicename: "

我有嵌套数据。希望实现基于devicedisplayId的排序。我使用filterValueGetter进行筛选,但没有遇到任何此类函数w.r.to排序。

对于自定义排序函数,可以使用列定义中的comparator方法,如下所示

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>';
      }
   }
比较器:(id1,id2)=>{ 如果(id1.devicedisplayId
查看ag grid文档中的自定义排序了解更多详细信息-

您好,排序功能不使用
filterValueGetter
,而是使用
valueGetter
。您好,我已尝试使用valueGetter,但它似乎没有排序。好的,您可以创建重新排序吗?谢谢。
    comparator: (id1, id2) => {
    if (id1.devicedisplayId < id2.devicedisplayId) {
      return -1;
    }
    if (id1.devicedisplayId < id2.devicedisplayId) {
      return 1;
    }
    return 0;
    }