sap.m.Table 不可见的行不显示 "No data"
sap.m.Table with invisible rows does not show "No data"
我有一个 sap.m.Table
映射对象数组(行)
我没有在 sap.m.ColumnListItem
.
中按 visible
属性 显示某些行
一切正常,但是当 table 不包含任何行时,结果如下:
文本 "No data" 没有显示,我看到一个简单的空白 table :(
这是我想要达到的结果:
我该怎么做?
它应该默认显示文本。两个猜测:
您的数据可能包含一个(甚至多个)空条目,因此 ColumnListItem 得到呈现但没有可见内容。
您错误配置了属于 sap.m.Table
的其中一个属性。 sap.m.ListBase
:
- noDataText : string(这个不用设置,有默认的)
- showNoData:布尔值(默认值:true)
GL
克里斯
您描述的情况是您已经绑定了 Table 的项目聚合,但只是用可见的 属性 抑制了行显示。 Table 仍然有项目绑定,因此不会显示 "no data" 文本,因为有数据。这是对的。此处的代码段是您描述的您正在做的事情。
var oTable = sap.m.Table("salesarea", {
columns : [
new sap.m.Column({
header : new sap.m.Text({text: "Place"})
})
],
items: {
path: "/places",
template: new sap.m.ColumnListItem({
visible : false,
cells : [
new sap.m.Text({text: "{name}"})
]
})
}
});
oTable
.setModel(new sap.ui.model.json.JSONModel({
places: [
{ name: "Manchester" },
{ name: "Liverpool" },
{ name: "Leeds" },
{ name: "Sheffield" }
]
}))
.placeAt("content");
jQuery.sap.require("sap.m.MessageToast");
alert("Table has " + oTable.getItems().length + " items");
<script src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js" id="sap-ui-bootstrap" data-sap-ui-libs="sap.m" data-sap-ui-theme="sap_bluecrystal"></script>
<div id="content"></div>
答案是使用过滤器而不是通过格式化程序隐藏行。
我有一个 sap.m.Table
映射对象数组(行)
我没有在 sap.m.ColumnListItem
.
visible
属性 显示某些行
一切正常,但是当 table 不包含任何行时,结果如下:
文本 "No data" 没有显示,我看到一个简单的空白 table :(
这是我想要达到的结果:
它应该默认显示文本。两个猜测:
您的数据可能包含一个(甚至多个)空条目,因此 ColumnListItem 得到呈现但没有可见内容。
您错误配置了属于 sap.m.Table
的其中一个属性。 sap.m.ListBase
:
- noDataText : string(这个不用设置,有默认的)
- showNoData:布尔值(默认值:true)
GL 克里斯
您描述的情况是您已经绑定了 Table 的项目聚合,但只是用可见的 属性 抑制了行显示。 Table 仍然有项目绑定,因此不会显示 "no data" 文本,因为有数据。这是对的。此处的代码段是您描述的您正在做的事情。
var oTable = sap.m.Table("salesarea", {
columns : [
new sap.m.Column({
header : new sap.m.Text({text: "Place"})
})
],
items: {
path: "/places",
template: new sap.m.ColumnListItem({
visible : false,
cells : [
new sap.m.Text({text: "{name}"})
]
})
}
});
oTable
.setModel(new sap.ui.model.json.JSONModel({
places: [
{ name: "Manchester" },
{ name: "Liverpool" },
{ name: "Leeds" },
{ name: "Sheffield" }
]
}))
.placeAt("content");
jQuery.sap.require("sap.m.MessageToast");
alert("Table has " + oTable.getItems().length + " items");
<script src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js" id="sap-ui-bootstrap" data-sap-ui-libs="sap.m" data-sap-ui-theme="sap_bluecrystal"></script>
<div id="content"></div>
答案是使用过滤器而不是通过格式化程序隐藏行。