Sapui5 如何使用";显示JSONModel数据;“sap.ui.table.DataTable”;?

Sapui5 如何使用";显示JSONModel数据;“sap.ui.table.DataTable”;?,sapui5,Sapui5,我试图将ABAP程序中的内部表中的数据引入SAPUI5应用程序 在ABAP方面,我已经将所需的数据转换为JSON格式,并像指南中提到的那样将其发送给其他人 我在控制器的“读取”部分编写了以下代码 $.ajax({ 键入:“GET”, 网址:'http://socw3s1er67.solutions.glbsnet.com:8000/sap/bc/Z_tets_json?sap-客户机=950', 成功:功能(数据){ 警报(数据[1]。项目); 警报(数据[0].MANDT); var oMod

我试图将ABAP程序中的内部表中的数据引入SAPUI5应用程序

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

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

$.ajax({
键入:“GET”,
网址:'http://socw3s1er67.solutions.glbsnet.com:8000/sap/bc/Z_tets_json?sap-客户机=950',
成功:功能(数据){
警报(数据[1]。项目);
警报(数据[0].MANDT);
var oModel_Projects=new sap.ui.model.json.JSONModel();
setData({modelData:data});
}
});
来自服务器的JSON响应示例:

[
{
“MANDT”:“PJ1”,
“项目”:“测试项目1”,
“说明”:”
},
{
“MANDT”:“PJ2”,
“项目”:“测试项目2”,
“说明”:”
}
]
警报似乎工作正常,正在从内部表返回预期数据


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

在您澄清后更新了答案: 请尝试以下语法分析器:

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);
var html=“MANDTPROJECTDESCRIPTION”;
for(数据中的var索引){
html+=“”+数据[索引].MANDT+“”+数据[索引].PROJECT+“”+数据[索引].DESCRIPTION+“”;
}
html+=“”;
//现在,您可以将此html插入一些div中,如下所示:$(“#div1”).html(html);

或者像我在评论中建议的那样,在谷歌上搜索一些jquery gridview。

好吧,你的代码看起来不错,但是还有其他部分缺失,可能有问题

你的桌子是如何构造的? 应该是:

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);

是否使用
placeAt
方法将表正确地放入HTML中?

警报实际上对我来说运行良好,提供了预期的数据。我想知道如何通过将控制器中的数据绑定到模型来在视图中显示数据。Ok。然后尝试用谷歌搜索jquerygridview。它将要求json数据作为模态,并将显示您需要的任何内容和方式。