binding에 정의 된 사양을 벗어난 XML 구문의 자바 스크립트 코드는 작동하지 않습니다. 코드에서 포맷터를 사용하여 선택한 항목을 설정할 수 있습니다. 포맷터 기능은 항목이 작성되고 컬럼의 플래그가 설정 될 때 선택된 키를 설정합니다. 컨트롤러에서
<Select id="areaSelect" items="{path: '/AreaSet'}" >
<core:Item key="{
parts : [
{path: 'ZArea'},
{path: 'Xfeld'}
],
formatter: '.formatter.setSelection'
}"
text="{Name}" />
</Select>
선택한 항목 키를 설정하는 함수를 정의하여 fomatter에서 포맷터에게
...
...
"com/sap/app/controller/BaseController",
"sap/ui/model/json/JSONModel",
"com/sap/app/model/formatter"
], function (BaseController, JSONModel, formatter) {
BaseController.extend("com.sap.app.controller.Detail", {
formatter: formatter,
onInit: function() {
...
...
를 추가합니다.
sap.ui.define([], function() {
"use strict";
return {
setSelection : function(key, isSelected){
if(isSelected=="X"){
var oSelect = this.byId("areaSelect");
oSelect.setSelectedKey(key);
}
return key;
}
}
});
첫 번째 감사, 두 번째로 동일한 작업을 수행하는 가장 빠른 방법입니다 (완벽하게 작동합니다)? – flowx1710
각 항목에 대한 포맷터를 통해 실행 중이므로 약간의 오버 헤드가 있습니다. 그러나 성능 문제가 너무 적습니다. 선택한 항목을 백엔드에서 개별적으로 가져와 더 좋을 수 있으며 속성 매핑을 수행 할 수 있습니다. –