控制器内的自定义格式化程序-SAPUI5

控制器内的自定义格式化程序-SAPUI5,sapui5,sap-fiori,Sapui5,Sap Fiori,我正在尝试将性别字段(在SAP表格字段中:CHAR1设置为0(F)和1(m)以适应RadioButtongGroup的selectedIndex属性 这是我的观点:(DetailDialog.fragment.xml) 我的问题是格式化程序根本不工作 有什么建议吗?选项一:(不确定它是否也适用于片段) 将格式化程序:'.formatter'更改为格式化程序:'Demo1.view.DetailDialog.formatter' 选项二:格式化数据,因为您无论如何都要绑定来自控制器的数据。(而且肯

我正在尝试将性别字段(在SAP表格字段中:
CHAR1
设置为0(F)和1(m)以适应
RadioButtongGroup
selectedIndex
属性

这是我的观点:
DetailDialog.fragment.xml

我的问题是格式化程序根本不工作


有什么建议吗?

选项一:(不确定它是否也适用于片段)

格式化程序:'.formatter'
更改为
格式化程序:'Demo1.view.DetailDialog.formatter'

选项二:格式化数据,因为您无论如何都要绑定来自控制器的数据。(而且肯定会工作。)


并更改绑定:
selectedIndex=“{path:'genderValue'}”
选项一:(不确定它是否也适用于片段)

格式化程序:'.formatter'
更改为
格式化程序:'Demo1.view.DetailDialog.formatter'

选项二:格式化数据,因为您无论如何都要绑定来自控制器的数据。(而且肯定会工作。)

并更改绑定:
selectedIndex=“{path:'GendrValue'}”

<RadioButtonGroup width="100%" columns="2" selectedIndex="{path: 'Gendr', formatter:'.formatter' }" id="__group1">
ItemPress: function(oEvent) {
        var detailDialog = this.getView().byId("DetailDialog");
        var that = this;
        var view = this.getView();
        var path = oEvent.getParameter("listItem").getBindingContext().getPath();
        var oDummyController = {
            formatter: function(gendr) {
                switch (gendr) {
                    case "M":
                        return 0;
                    case "F":
                        return 1;
                }
            },

            closeDialog: function() {
                detailDialog.close();
            }
        };
        if (!detailDialog) {
            detailDialog = sap.ui.xmlfragment(view.getId(), "Demo1.view.DetailDialog", oDummyController);
        }
        var jSonModel = new sap.ui.model.json.JSONModel();
        function fnSuccess(oData, oResponse) {
            jSonModel.setData(oData);
        }
        var oModel = view.getModel();
        oModel.read(path, {
                success: fnSuccess
            })
            //Set data for dialog
        this.getView().byId("__formDetail").setModel(jSonModel);
        detailDialog.open();
    }
function fnSuccess(oData, oResponse) {
   oData.GendrValue = oData.Gendr == "M"?1:0;
   jSonModel.setData(oData);
}