在sapUI5 XML视图中放置动态表
我正在尝试使用sap.ui.table.table在sapui5中添加动态表。但在本例中使用HTML视图,但我希望使用XML作为视图 使用这种方式将表放在XML中的替代方法是什么 SAPUI5动态表 变量列数据=[{ columnName:firstName }, { columnName:lastName }, { 专栏名称:部门 }]; 变量行数据=[{ 名字:Sachin, 姓氏:Tendulkar, 部门:板球 }, { 名字:莱昂内尔, 姓:梅西, 部门:足球 }, { 名字:莫汉, 姓:拉尔, 部门:电影 }]; var oTable=新sap.ui.table.table{ 可见行数:3 }; var oModel=new sap.ui.model.json.JSONModel; oModel.setData{ 行:行数据, 列:列数据 }; oTable.setModeloModel; oTable.bindColumns/columns、functionsId、oContext{ var columnName=oContext.getObject.columnName; 返回新的sap.ui.table.Column{ 标签:columnName, 模板:columnName, }; }; oTable.bindRows/行; page=新的sap.m.page{内容:[ 可旋转 ]}; app=新的sap.m.app; app.addPagepage; app.placeAtcontent; 您可以使用bindColumns和bindRows实现它 XML视图在sapUI5 XML视图中放置动态表,sapui5,Sapui5,我正在尝试使用sap.ui.table.table在sapui5中添加动态表。但在本例中使用HTML视图,但我希望使用XML作为视图 使用这种方式将表放在XML中的替代方法是什么 SAPUI5动态表 变量列数据=[{ columnName:firstName }, { columnName:lastName }, { 专栏名称:部门 }]; 变量行数据=[{ 名字:Sachin, 姓氏:Tendulkar, 部门:板球 }, { 名字:莱昂内尔, 姓:梅西, 部门:足球 }, { 名字:莫汉,
如果需要您的示例链接来回答您的问题,则您的问题已脱离主题,将被关闭。我添加了代码段,无需在脚本标记内创建表。在XML视图中创建空表,并在onInit或onAfterRendering中绑定该表,或者在收到数据后绑定该表。如果在XML中添加表模板,则动态标头将不起作用。需要手动添加标头。在XML中添加xmlns:ui=sap.ui.table需要这样做吗?我是XMLYes的新手,您必须添加它,它是sap.ui.table的名称空间。
<core:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:ui="sap.ui.table"
controllerName="XXXX.Main" xmlns:html="http://www.w3.org/1999/xhtml">
<Page title="Dynamic Binding" class="sapUiContentPadding">
<content>
<ui:Table id="reOrderTable"></ui:Table>
</content>
</Page>
</core:View>
onInit: function() {
var oModel = this.getTableData(this);
this.createDynTable(this, oModel);
}
/**
* Get Data
*/
getTableData: function(that) {
var columnData = [
{ "colId": "Amt", "colName": "Amount", "colVisibility": true, "colPosition": 0 },
{ "colId": "Qty", "colName": "Quantity", "colVisibility": true, "colPosition": 1 },
{ "colId": "Unt", "colName": "Unit", "colVisibility": true, "colPosition": 2 },
{ "colId": "OPA", "colName": "OpenPOAmount", "colVisibility": true, "colPosition": 3 },
{ "colId": "OPQ", "colName": "OpenPOQuantity", "colVisibility": true, "colPosition": 4 }
];
var rowData = [{
"Amount": "200",
"Quantity": "RF",
"Unit": "CV",
"OpenPOAmount": "5988",
"OpenPOQuantity": "YY",
"EXT_FLDS": {
"PRINTING_NUM": {
"fieldvalue": 10,
"fieldlabel": "Printing Number",
"uictrl": "sap.m.Input"
},
"COUNTRY": {
"fieldvalue": "Thailand",
"fieldlabel": "Country",
"uictrl": "sap.m.ComboBox"
}
}
},
{
"Amount": "80",
"Quantity": "UG",
"Unit": "RT",
"OpenPOAmount": "878",
"OpenPOQuantity": "RF",
"EXT_FLDS": {
"PRINTING_NUM": {
"fieldvalue": 11,
"fieldlabel": "Printing Number",
"uictrl": "sap.m.Input"
},
"COUNTRY": {
"fieldvalue": "Thailand",
"fieldlabel": "Country",
"uictrl": "sap.m.ComboBox"
}
}
},
{
"Amount": "789",
"Quantity": "GV",
"Unit": "ED",
"OpenPOAmount": "8989",
"OpenPOQuantity": "FGG",
"EXT_FLDS": {
"PRINTING_NUM": {
"fieldvalue": 12,
"fieldlabel": "Printing Number",
"uictrl": "sap.m.Input"
},
"COUNTRY": {
"fieldvalue": "Thailand",
"fieldlabel": "Country",
"uictrl": "sap.m.ComboBox"
}
}
}
];
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData({
rows: rowData,
columns: columnData
});
return oModel;
},
/**
* Creating Dynamic table
*/
createDynTable: function(that, oModel) {
var oTable = this.byId("reOrderTable");
oTable.setModel(oModel);
oTable.bindColumns("/columns", function(sId, oContext) {
var columnName = oContext.getObject().colName;
return new sap.ui.table.Column({
label: columnName,
template: columnName,
});
});
oTable.bindRows("/rows");
}