sap.ui.table.Column
的filterType属性似乎不适合我。这是我的代码:
<table:Column sortProperty="abc" filterProperty="abc" filterType="sap.ui.model.type.Integer">
<table:label>
<Label text="abc"></Label>
</table:label>
<table:template>
<Label text="{modelName>abc}"></Label>
</table:template>
</table:Column>
abc包含一个数字作为字符串,例如“10”。值显示在表中,因此绑定是正确的。
排序也有效但不尊重Integer类型。我仍然得到一个类似于排序的字符串,以便在“10”之后显示条目“6”以进行升序排序。如果我执行sap.ui.getCore()。byId(“columnId”),则列甚至返回我设置的filterType。getFilterType();这到底有什么不对?
BR 克里斯
答案 0 :(得分:1)
它适用于代码段。您可以单击列标题按降序或升序排序并过滤值。请检查。
<script id='sap-ui-bootstrap' type='text/javascript' src='https://sapui5.hana.ondemand.com/resources/sap-ui-core.js' data-sap-ui-libs="sap.m,sap.ui.commons,sap.ui.table,sap.viz" data-sap-ui-theme="sap_bluecrystal"></script>
<script id="view1" type="sapui5/xmlview">
<mvc:View xmlns:core="sap.ui.core" xmlns:layout="sap.ui.commons.layout" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.ui.commons" xmlns:table="sap.ui.table" controllerName="my.own.controller" xmlns:html="http://www.w3.org/1999/xhtml">
<table:Table id="testTable" rows="{/}">
<table:Column sortProperty="abc" filterProperty="abc" filterType="sap.ui.model.type.Integer">
<table:label>
<Label text="abc"></Label>
</table:label>
<table:template>
<Label text="{abc}"></Label>
</table:template>
</table:Column>
<table:Column>
<table:label>
<Label text="abc2"></Label>
</table:label>
<table:template>
<Label text="{abc2}"></Label>
</table:template>
</table:Column>
</table:Table>
</mvc:View>
</script>
<script>
sap.ui.controller("my.own.controller", {
onInit: function() {
var aTableData = [{
abc: 1,
abc2: "a"
}, {
abc: 6,
abc2: "b"
}, {
abc: 10,
abc2: "c"
}, {
abc: 3,
abc2: "g"
}, {
abc: 12,
abc2: "h"
}];
var oTableModel = new sap.ui.model.json.JSONModel();
oTableModel.setData(aTableData);
var oTable = this.getView().byId("testTable");
oTable.setModel(oTableModel);
oTable.sort(oTable.getColumns()[0]);
}
});
var myView = sap.ui.xmlview("myView", {
viewContent: jQuery('#view1').html()
}); //
myView.placeAt('content');
</script>
</head>
<body class='sapUiBody'>
<div id='content'></div>
</body>
&#13;
答案 1 :(得分:1)
最后回答这个问题:无论您使用哪种视图类型,都不会将filterType考虑在内进行排序。如果您还认为应该有一种方法可以轻松影响排序逻辑,您可以在此处支持此问题:https://github.com/SAP/openui5/issues/192