如何在 Kendo UI MultiSelect 中对客户端的项目进行分组?
How to group items on client side in Kendo UI MultiSelect?
我正在尝试在客户端对多选项目进行分组。为此,我正在关注 this 教程。
内容如下:
To enable the grouping functionality in a ComboBox, use the remote
transport and a grouped data source.
但我想在客户端对其进行分组。这是我的代码:
$scope.data = [{ "id": "1", "paramname": "Name", "parent": "Driving License" }, { "id": "2", "paramname": "Address", "parent": "Driving License" }, { "id": "3", "paramname": "SSN", "parent": "Driving License" }, { "id": "4", "paramname": "Name", "parent": "Voter Id" }, { "id": "5", "paramname": "Address", "parent": "Voter Id" }, { "id": "6", "paramname": "State", "parent": "Voter Id" }]
$scope.selectOptions = {
placeholder: "Select products...",
dataTextField: "paramname",
dataValueField: "id",
valuePrimitive: true,
autoBind: false,
dataSource: {
data: $scope.data,
serverGrouping: false,
group: { field: "parent" }
}
};
但这并没有给出正确的分组。见下图:
我有什么地方做得不对吗?
问题是由于 parent 是 JavaScript 中的保留字引起的。似乎 Kendo 的数据源对象试图从您的 "parent" 列中获取数据的方式导致它获得对其实际父对象的引用。
如果您将列名称更改为 "parentgroup" 或其他名称,它应该可以正常工作。
我正在尝试在客户端对多选项目进行分组。为此,我正在关注 this 教程。
内容如下:
To enable the grouping functionality in a ComboBox, use the remote transport and a grouped data source.
但我想在客户端对其进行分组。这是我的代码:
$scope.data = [{ "id": "1", "paramname": "Name", "parent": "Driving License" }, { "id": "2", "paramname": "Address", "parent": "Driving License" }, { "id": "3", "paramname": "SSN", "parent": "Driving License" }, { "id": "4", "paramname": "Name", "parent": "Voter Id" }, { "id": "5", "paramname": "Address", "parent": "Voter Id" }, { "id": "6", "paramname": "State", "parent": "Voter Id" }]
$scope.selectOptions = {
placeholder: "Select products...",
dataTextField: "paramname",
dataValueField: "id",
valuePrimitive: true,
autoBind: false,
dataSource: {
data: $scope.data,
serverGrouping: false,
group: { field: "parent" }
}
};
但这并没有给出正确的分组。见下图:
我有什么地方做得不对吗?
问题是由于 parent 是 JavaScript 中的保留字引起的。似乎 Kendo 的数据源对象试图从您的 "parent" 列中获取数据的方式导致它获得对其实际父对象的引用。
如果您将列名称更改为 "parentgroup" 或其他名称,它应该可以正常工作。