UI-Grid:v3.2.1
在尝试对扩展网格中的列进行排序时,我注意到该列未调用我们的SortChanged
回调。
我们将外部排序与可扩展网格结合使用。
我们通过以下调用设置排序
controller.gridOptions = {
data: controller.myData,
enableHorizontalScrollbar: 0,
enableVerticalScrollbar: 0,
useExternalSorting: true,
expandableRowTemplate: urls.SubGridTemplate,
enableGridMenu: true,
rowHeight: gridRowHeight,
minRowsToShow: minRowsToShow,
enableFiltering: true,
useExternalFiltering: true,
enableSelectionModeToggle: true,
columnDefs: templates.getGridColumnDefinitions(
{ advancedFilterChanged: advancedFilterChanged },
controller.gridSettings
)
};
然后
angularGridApi.core.on.sortChanged($scope, sortChanged);
然后我们使用以下方法设置可扩展网格
angularGridApi.expandable.on.rowExpandedStateChanged(
$scope,
retrieveDetailRows
);
答案 0 :(得分:0)
可扩展网格似乎未使用$scope.core.on.sortChanged($scope, sortChanged)
。
由于这种警告,在我的情况下,默认排序算法默认为字符串。
“排序算法是根据列类型选择的。ui-grid会根据数据猜测类型,尽管如果在列之后异步加载数据,通常会确定所有列都是字符串。” Sorting Documentation
明确设置列类型为我解决了此问题。
{
field: "myDataField",
displayName: "My Column Header",
type: "number",
minWidth: 93,
maxWidth: 120
}
如果需要更复杂的排序,可以在每列上设置自定义排序。