在sapUI5 XML视图中放置动态表

在sapUI5 XML视图中放置动态表,sapui5,Sapui5,我正在尝试使用sap.ui.table.table在sapui5中添加动态表。但在本例中使用HTML视图,但我希望使用XML作为视图 使用这种方式将表放在XML中的替代方法是什么 SAPUI5动态表 变量列数据=[{ columnName:firstName }, { columnName:lastName }, { 专栏名称:部门 }]; 变量行数据=[{ 名字:Sachin, 姓氏:Tendulkar, 部门:板球 }, { 名字:莱昂内尔, 姓:梅西, 部门:足球 }, { 名字:莫汉,

我正在尝试使用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视图


如果需要您的示例链接来回答您的问题,则您的问题已脱离主题,将被关闭。我添加了代码段,无需在脚本标记内创建表。在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");
  }