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 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に適切に配置されていますか?

于 2013-02-18T12:45:48.763 に答える
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 に答える