0

我正在尝试将 ABAP 程序中的内部表中的数据导入 SAPUI5 应用程序。

在 ABAP 方面,我已将所需数据转换为 JSON 格式,并像指南中提到的那样将其发送出去。

我在控制器的“读取”部分编写了以下代码

$.ajax({
  type: 'GET',
  url: 'http://socw3s1er67.solutions.glbsnet.com:8000/sap/bc/Z_tets_json?sap-client=950',
  success: function(data) {
    alert(data[1].PROJECT);
    alert(data[0].MANDT);
    var oModel_Projects = new sap.ui.model.json.JSONModel();
    oModel_Projects.setData({ modelData: data });
  }
});

来自服务器的示例 JSON 响应:

[
  {
    "MANDT": "PJ1",
    "PROJECT": "Test Project1",
    "DESCRIPTION": ""
  },
  {
    "MANDT": "PJ2",
    "PROJECT": "Test Project2",
    "DESCRIPTION": ""
  }
]

警报似乎工作正常,并且正在从内部表返回预期数据。

我想知道:如何使用模型将此数据绑定到特定表中?

4

2 回答 2

1

澄清后更新了答案:试试这个解析器:

var html = "<table><tr><td>MANDT</td><td>PROJECT</td><td>DESCRIPTION</td></tr>";
    for(var index in data){
html+="<tr><td>"+data[index].MANDT+"</td><td>"+data[index].PROJECT+"   </td><td>"+data[index].DESCRIPTION+"</td></tr>";
    }
html+="</table>";
//now you can insert this html into some div like as follows: $("#div1").html(html);

或者按照我在评论中的建议搜索一些 jquery gridview。

于 2013-02-15T06:45:04.413 回答
1

好吧,您的代码看起来不错,但是还有其他部分丢失了,并且那里可能存在问题...

您的桌子是如何构造的 - ?它应该是:

var table = new sap.ui.table.DataTable({
    title: 'My first table',
    width: '100%'
});

您是否进行以下调用以连接表和模型?

table.setModel(oModel_Projects);
table.bindRows("modelData");

您是否正确创建了表格的列?

label = new sap.ui.commons.Label({ text: 'Client' });
template = new sap.ui.commons.TextView({ text: '{MANDT}' });
col = new sap.ui.table.Column({ label: label, template: template });
table.addColumn(col);

表格是否使用方法正确放置到 HTML 中placeAt

于 2013-02-18T12:45:48.763 回答