Перейдите к определенному элементу основного списка sapui5 - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть страница Master-Detail. После выполнения некоторой транзакции (редактирования некоторых данных) на странице сведений я хочу остаться в этом элементе основного списка с обновленными данными. Но после редактирования и обновления модели страница переходит к первому элементу основного списка, а не остается на том же элементе основного списка и его странице сведений. Ниже приведен код после редактирования данных:

Detail.controller. js:

    update: function (evt) {
            that.oDataModel.update("/RaiseQuerySet('" + that.detailModel.getData().EICNO + "')", 
            this.data, null, function (data) {

                                MessageBox.success("Your query has been updated", {
                                    onClose: function (sAction) {
                                        that.cancelIndent();
                                        that.refreshPage();

                                    }
                                });

    }

    refreshPage: function () {
        var that = this;
        $.ajax({
            url: "/sap/opu/odata/sap/ZHR_V_CARE_SRV/EmpQueryInitSet('10002001')?$expand=QueryLoginToQueryList/QueryToLog",
            method: "GET",
            dataType: "json",
            success: function (data) {
                that.getView().getModel("totalModel").setData(data.d.QueryLoginToQueryList);

                that.router.navTo('DetailPage', {
                    QueryNo: that.detailModel.getData().EICNO
                });
            //
            that.totalModel.refresh(true);
                that.detailModel.refresh(true);
            }
        });
    },


cancelIndent: function (evt) {
        this.detailModel.refresh(true);
    }

DetailModel используется для заполнения данных на странице сведений, а totalModel используется для заполнения данные на главной странице.

1 Ответ

0 голосов
/ 20 февраля 2020

Это может произойти, если внутри файла манифеста. json у вас есть 2 цели, связанные с маршрутом DetailPage.

Из поведения, которое вы объяснили, я бы сказал, что это так.

Шаблоны основных деталей из WebIDE обычно имеют файл logi c внутри файла ListSelector. js, в котором каждый раз, когда отображается основной список, он автоматически выбирает первый элемент.

...