如何解决sapui5 sap.ui.table.Table如何在使用visibleRowCount属性的同时使用table.getRows方法获取完整的行信息
使用sap.ui.table.Table开发应用程序时遇到了挑战。我无法使用table.getRows()
我从odata服务获得了 100条记录。对于使用visibleRowCount="10"
的表绑定im。这样一来,我最初只能看到10条记录,通过滚动我们可以看到剩余的行。
现在,我想在加载数据时进行一些数据和CSS操作。所以我必须获取完整的行信息。
对于数据操作,我可以使用sap.ui.model.json.JSONmodel
进行播放。但是对于CSS操作,我必须获得完整的行数据。
注意::如果删除visibleRowCount
属性,则可以获得完整的行信息。但是表列标题不会被固定,如果向下滚动,则不会看到表列标题。所以我不能那样做。
下面是我的代码。
<Table id="uiTable" selectionMode="None" rows="{tableModel>/Sheet1}" visibleRowCount="10">
<columns>
<Column width="5rem" filterProperty="Project" hAlign="Center">
<m:Label text="Project"/>
<template>
<m:Text text="{tableModel>Project}" wrapping="false"/>
</template>
</Column>
<Column hAlign="Center" width="5rem" filterProperty="State">
<m:Label text="State"/>
<template>
<m:Text text="{tableModel>State}" wrapping="false"/>
</template>
</Column>
<Column width="5rem">
<m:Label text="Region"/>
<template>
<m:Text text="{tableModel>Region}" wrapping="false"/>
</template>
</Column>
</columns>
</Table>
var tableModel = this.getOwnerComponent().getModel("tableModel");
this.getView().setModel(tableModel,"tableModel");
var table = this.getView().byId("uiTable");
var tableLength = tableModel.getData().Sheet1.length;
var tableData = tableModel.getData().Sheet1;
var aRows = table.getRows();
table.onAfterRendering = function () {
sap.ui.table.Table.prototype.onAfterRendering.apply(this,arguments);
for (var i = 0; i < tableLength; i++) {
if (tableData[i].Region === "AP") {
var pRow = aRows[i];
$("#" + pRow.getId() + "-col" + i).addClass("mystyle");
}
}
}
有人可以帮助我如何使用table.getRows()
和XML中的visibleRowCount
属性获取完整的行信息吗?
提前谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。