1

JSONデータをフォームにバインドする方法.以下は私のフォームとバインドされるデータです。これで私を助けてください。例 111 個のオブジェクト値をフォームにバインドしたい

Data:
{"customerdetailsjson": {
        "111": [
            {
                "name": "Bhuvaneswari Krishnan",
               "phone-number":"8050231233"
            }
        ],
        "112": [
            {
                 "name":"Chetan Sandeep Renu",
       "phone-number":"9840321321"
            }
        ]
    }}

Form:
var oLayout1 = new sap.ui.layout.form.ResponsiveGridLayout();
customerDetailsForm = new sap.ui.layout.form.Form("F1", {
layout: oLayout1,
formContainers: [new sap.ui.layout.form.FormContainer("F1C2", {
    title: new sap.ui.core.Title({
        text: "Address Information",
        tooltip: "Address data"
    }),
    formElements: [new sap.ui.layout.form.FormElement({
        label: "Street / Number",
        fields: [new sap.m.Input({
            type: sap.m.InputType.Text,
            value: "{name}",
            layoutData: new sap.ui.core.VariantLayoutData({
                multipleLayoutData: [new sap.ui.layout.ResponsiveFlowLayoutData({
                    weight: 5
                }), new sap.ui.layout.form.GridElementData({
                    hCells: "5"
                })]
            })
        })]
    }), new sap.ui.layout.form.FormElement({
        label: "Street / Number",
        fields: [new sap.m.Input({
            type: sap.m.InputType.Text,
            value: "{phone-number}",
            layoutData: new sap.ui.core.VariantLayoutData({
                multipleLayoutData: [new sap.ui.layout.ResponsiveFlowLayoutData({
                    weight: 5
                }), new sap.ui.layout.form.GridElementData({
                    hCells: "5"
                })]
            })
        })]
    })]
})]
})]
4

1 に答える 1

7

まず、モデルが必要です。

var myModel = new sap.ui.model.json.JSONModel(myJsonData);

次に、それをコントロールに割り当てます。

customerDetailsForm.setModel(myModel);

これで、モデルのルート ノードからの絶対パスを使用して、モデルからコントロール (およびサブコントロール) への値のバインドを開始できます。

    ...
    new sap.ui.layout.form.FormElement({
            label: "Street / Number",
            fields: [new sap.m.Input({
                type: sap.m.InputType.Text,
                value: "{/customerdetailsjson/111/0/name}",
                layoutData: new sap.ui.core.VariantLayoutData({
                    multipleLayoutData: [new sap.ui.layout.ResponsiveFlowLayoutData({
                        weight: 5
                    }), new sap.ui.layout.form.GridElementData({
                        hCells: "5"
                    })]
                })
            })]
   ...

GLクリス

于 2014-01-23T21:42:16.680 に答える