为什么这个表空了?

时间:2012-12-04 19:40:45

标签: sap

我试图用新的SAPUI5开发套件做一些事情。我找到了一些我想尝试的代码,但碰巧我的表总是空的。我试图弄清楚自己,但我不能这样做。这是我的代码:

    var oTable = new sap.ui.table.DataTable();

    oTable.setTitle("My Table");

    oTable.addColumn(new sap.ui.table.Column({
      label: new sap.ui.commons.Label({text: "Agency Name"}),
      template: new sap.ui.commons.TextView().bindProperty("text", "NAME"),
      sortProperty: "NAME"
    }));

   [...More Columns...]

    oTable.addColumn(new sap.ui.table.Column({
      label: new sap.ui.commons.Label({text: "Currency"}),
      template: new sap.ui.commons.TextField().bindProperty("value", "CURRENCY"),
      sortProperty: "CURRENCY",
    }));

    var uri = "http://gw.esworkplace.sap.com/sap/opu/sdata/iwfnd/RMTSAMPLEFLIGHT";

    var user  = "GW@ESW";
    var pw    = "ESW4GW";

    var oModel = new sap.ui.model.odata.ODataModel(uri,false,user,pw);
    oTable.setModel(oModel);
    oTable.bindRows("TravelagencyCollection");
    oTable.placeAt("dataTable");

  

我在Eclipse和Web服务器上尝试了这个代码,两者都有相同的空表结果。我发现了一个提示用chrome-withable-web-security在chrome中运行它,但仍然没有任何反应。我做错了什么?


感谢提示。没有标志我得到一个401代码和标志我得到200 GET OK,但仍然表是空的...

以及新的sap.ui.commons.TextView({text:'{key}'})我得到一张空表。

2 个答案:

答案 0 :(得分:0)

可能有几个原因

  • 您正在制作跨域ajax请求,服务器拒绝它以解决它尝试使用代理并在您的本地使用tomcat服务器或将您的sapui5代码放在ABAP服务器上
  • oTable.bindRows( “TravelagencyCollection”);可能会生成错误的请求,所以请使用 oTable.bindRows(“/ TravelagencyCollection”);
  • 如果上述两个条件都没有引发任何错误,请尝试通过Google开发人员工具(网络)检查来自NW的数据是否来自您。

答案 1 :(得分:0)

替换

oTable.bindRows("TravelagencyCollection");

通过

oTable.bindRows("*/*TravelagencyCollection");