是否可以使用 Angular UI 网格将列的排序绑定到与其显示 属性 不同的 属性?
Is it possible to bind the sorting of a column to a different property than its display property with Angular UI Grid?
我只是想知道是否有人知道使用 Angular UI 网格按与另一列相同的顺序对列进行排序的方法。
我猜你的意思是,如果(例如)你有 "First Name" 和 "Last Name" 列分别显示名字和姓氏,你想在 [=38= 上单击排序] 这实际上按 "First Name"?
的顺序对 table 进行了排序
如果是这样,您可以使用单元格模板完成此操作。
假设您有以下 table:
并且当您对 "Last Name" 列进行排序时,它实际上会按照 "First Name" 列中数据的顺序对 table 进行排序。
假设数据如下:
$scope.gridOptions.data = [{
"firstName": "David",
"lastName": "Carney",
}, {
"firstName": "Bob",
"lastName": "Wise",
}, {
"firstName": "Peter",
"lastName": "Thompson",
}];
定义你的 columnDefs
如下:
$scope.gridOptions.columnDefs = [{
name: 'firstName',
field: 'firstName'
}, {
name: 'lastName',
field: 'firstName',
cellTemplate: '<div class="ui-grid-cell-contents">{{row.entity.lastName}}</div>'
}];
第二列的列定义将列命名为 "Last Name" 并且单元格模板确保 lastName
属性显示在单元格中,但是由于列的 field
绑定到firstName
这意味着当对列进行排序时,它是按 firstName
.
排序的
可以找到示例 here。对第二列(姓氏)进行排序,行实际上将按照第一列(名字)的顺序排序。
Grid 将偶数行作为参数与字段值一起传递给排序函数。它调用排序函数,如下所示:
sortFn(propA, propB, rowA, rowB, direction);
您可以使用此额外信息对数据进行适当排序。
您可以通过 sortingAlgorithm 属性 为 colDef 指定 sortFunc。
这发生在 ui-grid 版本 3.0.7
我只是想知道是否有人知道使用 Angular UI 网格按与另一列相同的顺序对列进行排序的方法。
我猜你的意思是,如果(例如)你有 "First Name" 和 "Last Name" 列分别显示名字和姓氏,你想在 [=38= 上单击排序] 这实际上按 "First Name"?
的顺序对 table 进行了排序如果是这样,您可以使用单元格模板完成此操作。
假设您有以下 table:
并且当您对 "Last Name" 列进行排序时,它实际上会按照 "First Name" 列中数据的顺序对 table 进行排序。
假设数据如下:
$scope.gridOptions.data = [{
"firstName": "David",
"lastName": "Carney",
}, {
"firstName": "Bob",
"lastName": "Wise",
}, {
"firstName": "Peter",
"lastName": "Thompson",
}];
定义你的 columnDefs
如下:
$scope.gridOptions.columnDefs = [{
name: 'firstName',
field: 'firstName'
}, {
name: 'lastName',
field: 'firstName',
cellTemplate: '<div class="ui-grid-cell-contents">{{row.entity.lastName}}</div>'
}];
第二列的列定义将列命名为 "Last Name" 并且单元格模板确保 lastName
属性显示在单元格中,但是由于列的 field
绑定到firstName
这意味着当对列进行排序时,它是按 firstName
.
可以找到示例 here。对第二列(姓氏)进行排序,行实际上将按照第一列(名字)的顺序排序。
Grid 将偶数行作为参数与字段值一起传递给排序函数。它调用排序函数,如下所示:
sortFn(propA, propB, rowA, rowB, direction);
您可以使用此额外信息对数据进行适当排序。
您可以通过 sortingAlgorithm 属性 为 colDef 指定 sortFunc。
这发生在 ui-grid 版本 3.0.7