热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在KendoUIJquery中过滤具有空对象的列

我在下面的专栏中已经管理了如何控制模板中的空值以及如何进行如下排序:{f

我在下面的专栏中已经管理了如何控制模板中的空值以及如何进行如下排序:

{
field: "SucursalDetails.Nombre",title: "Sucursal",width: 40,template: "# if (SucursalDetails == null) { #" +
"-" +
"# } else { #" +
" #: SucursalDetails.Nombre #" +
"# } #",sortable: {
compare: function (a,b,descending) {
if (a.SucursalDetails == null && b.SucursalDetails == null) {
return 0;
}
else {
if (a.SucursalDetails == null || b.SucursalDetails == null) {
return descending ? 1 : -1;
}
else {
if (descending) {
return b.Id - a.Id;
} else {
return a.Id - b.Id;
}
}
}
}

唯一要做的就是在过滤时对其进行控制。过滤时,Javascript控制台显示“ TypeError:d.SucursalDetails为空”。

如何实现这种情况下对null的过滤控制?

注意:我在SpringBoot中部署了它。但我不认为这件事。


“过滤时,Javascript控制台显示“ TypeError: d.SucursalDetails 为空”。”

不正确,因为在函数中未使用d.SucursalDetails,但我知道问题出在哪里

您可以尝试

{
field: "SucursalDetails.Nombre",title: "Sucursal",width: 40,template: "# if (!SucursalDetails) { #" +
"-" +
"# } else { #" +
" #: SucursalDetails.Nombre #" +
"# } #",sortable: {
compare: function (a,b,descending) {
if (!a.SucursalDetails && !b.SucursalDetails) {
return 0;
}
else {
if (!a.SucursalDetails || !b.SucursalDetails) {
return descending ? 1 : -1;
}
else {
if (descending) {
return b.Id - a.Id;
} else {
return a.Id - b.Id;
}
}
}
}

,

我的工作终于解决了。

我们在架构中添加了以下内容:

parse: function(response) {
for (var i = 0; i //for each optional entity in your OData expand,add an entry here
if (response.d.results[i]['SucursalDetails'] == null)
{
response.d.results[i]['SucursalDetails'] = {
Nombre: '-'
};
}
}
return response;
}

使用此代码,模板和sortable的使用变得无用,因为没有对象为空。


推荐阅读
author-avatar
amwaysuju
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有