对列进行分组时,网格数据将消失
Grid data disappears when columns are grouped
我使用Kendo网格来显示AngularJS指令中的内联可编辑事件列表。数据正在按预期加载和显示,一切似乎都正常工作。我能够对数据进行排序、编辑、更新和删除,这一切都很完美。
当我尝试按任意列分组时,数据会消失。分组标题使用正确的数据正确显示,但所有行显示为完全空。对于应该包含数据的每一行,都有相应的编辑和删除按钮。我可以单击"删除",它将删除一个空行。如果单击编辑按钮,文本框将显示从我的服务加载的正确数据。如果我更新数据并单击更新,它将返回到不可见状态。
有人看到我做错了什么吗?
这里是special-events.directive.js:
(function() {
'use strict';
angular
.module('app')
.directive('specialEvents', [specialEvents]);
function specialEvents () {
var directive = {
restrict: 'EA',
link: link,
templateUrl: 'app/components/special-events/special-events.html',
controller: SpecialEventsCtrl,
controllerAs: 'specialEventsVM',
scope: {
source: '='
}
};
return directive;
function link(scope, element, attrs) {
}
/* directive controller */
function SpecialEventsCtrl($scope, $http){
var vm = this;
var id = 0;
vm.source = new kendo.data.DataSource({
transport: {
read: function(options) {
$http.get('http://localhost:8181/ping').then(function(response) {
id = response.data.length;
vm.gridData = response.data;
options.success(response.data);
});
},
update: function(options) {
options.success(options.data.models[0]);
console.log(options.data.models[0]);
},
destroy: function(options) {
options.success(options.data.models[0]);
console.log('Row #' + options.data.models[0].id + ' deleted');
},
create: function(options) {
id++;
options.data.models[0].id = id;
options.success(options.data.models[0]);
console.log('Added ' + options.data.models[0] + ' with an id of ' + options.data.models[0].id);
}
},
batch: true,
pageSize: 10,
schema: {
model: {
id: 'id',
fields: {
id: {editable: false, type: 'number'},
eventName: { type: 'string' },
description: { type: 'string' },
dates: { type: 'string' },
}
}
}
});
}
}
})();
这里是special-events.html
<div id="grid" kendo-grid
k-data-source="specialEventsVM.source"
k-height="350"
k-groupable="true"
k-sortable="true"
k-pageable="{
refresh: true,
pageSizes: true,
buttonCount: 5
}"
k-columns="[{
field: 'eventName',
title: 'Event Name',
width: 200
}, {
field: 'description',
title: 'Description'
}, {
field: 'dates',
title: 'Dates'
}, {
command: ['edit', 'destroy']
}]"
k-editable="{'mode': 'inline', 'create': true, 'update': true, 'destroy': true}"
k-toolbar="['create']"
></div>
这是数据:
var data =
[
{id: 1, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 2, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 3, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 4, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 5, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 6, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 7, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 8, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 9, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 10, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 11, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 12, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 13, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 14, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 15, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' },
{id: 16, eventName: 'Wedding', description: 'people getting married', dates: '11/02/2014 - 11/03/2015' }
];
我遇到过一个类似的问题,分组的功能与您描述的完全相同。我在AngularJS中使用了KendoUI,就像你看起来一样。我只需从旧的商业版本升级到telerik.kendoui.professional.2014.3.1119.commercial就可以解决这个问题。这似乎是剑道的一个错误,但我在他们的文档中找不到任何确切的信息。我花了几个小时或工作来找出我做错了什么。
======为将来遇到此情况的任何人更新:当与angular一起使用时,这是KendoUI中DataSource的一个错误。http://www.telerik.com/support/whats-new/kendo-ui/release-history/q2-2014-sp1
相关文章:
- $.每个jquery循环打印一个“;未定义的“;对于getJSON请求后的每个元素,网格数据都会完美地打印出来
- 在页面上获取网格数据之前出现 jQuery 错误
- 对于光滑网格数据视图,如果有更多的行数,则不会加载所有行
- ExtJS 4.2 将网格数据导出到可下载的 CSV 文件
- 如何导出 Html.Kendo().网格数据以通用方式使用javascript表现出色
- 如何从网格数据表插件 jQuery 中清除数据
- 光滑网格数据查看链接
- 访问网格数据存储的加载函数内的sortInfo属性
- jquery 在我对 Kendo UI 网格数据进行更改后返回错误
- 如何在网格数据绑定为动态时为 jqgrid 单元格设置自定义标题
- AngularJS-ui网格-数据显示问题
- 单击事件时刷新网格数据
- 对列进行分组时,网格数据将消失
- 如何在ExtJS 5中使用分页过滤网格数据
- 将angularjs网格数据从一个控制器暴露到另一个控制器
- AngularJS Ui网格数据表,如何避免多ng重复
- Dojo使用JsonRestStore重新加载网格数据
- 用于存储网格数据的javascript对象
- 将网格数据发送到服务器Exjts4
- 参数以'null'使用Jquery时调用ajax绑定网格数据