作者:amwaysuju | 来源:互联网 | 2023-10-11 13:37
我在下面的专栏中已经管理了如何控制模板中的空值以及如何进行如下排序:
{
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的使用变得无用,因为没有对象为空。