我有" BIG"表单及其字段的问题:
我想要一个混合内容:可编辑且不可编辑的字段。如果我设置editable="true"
,则可编辑字段的所有内容都是正确的,而不是我设置editable="false"
的ID,那么不可编辑字段的所有字段都是正确的。
控制器的代码是:
this.byId("rowDetFormEditContainer").removeAllFormElements();
for (var i = 0; i < cols.length; i++) {
var formEl = new sap.ui.layout.form.FormElement();
formEl.setLabel(cols[i]);
//small edit (beni)
else if((getActualOperationId()=="dettBeniPeriodo"||getActualOperationId()=="dettRettificheBeni")&&(cols[i]=='NOM_DOGANALE')){
this.getView().setModel('bene','updateType');
if(cols[i]=='NOM_DOGANALE'){
var codNomnclList=sap.ui.getCore().getModel('codNomnclList');
var field=new sap.m.Input({value : itemToEdit[Object.keys(itemToEdit)[i]]});
for(var k=0;k<codNomnclList.beni.length;k++){
field.addSuggestionItem(new sap.ui.core.Item().setKey(codNomnclList.beni[k]).setText(codNomnclList.beni[k]));
field.setShowSuggestion(true);
}
formEl.addField(field);
}else{
formEl.addField(new sap.m.Text({text:itemToEdit[Object.keys(itemToEdit)[i]]}));
}
}else{
formEl.addField(new sap.m.Text({text:itemToEdit[Object.keys(itemToEdit)[i]]}));
}
this.byId("rowDetFormEditContainer").addFormElement(formEl);
}
并进入XML View我写道:
<Page id='pageRowDetailEdit' title="Modifica" showNavButton="true" navButtonPress="doBack">
<content>
<l:Grid
defaultSpan="L12 M12 S12"
hSpacing="2"
width="auto">
<l:content>
<f:Form id="FormEdit"
minWidth="1024"
maxContainerCols="2"
editable="false"
class="isReadonly">
<f:title>
<core:Title text="Modifica" />
</f:title>
<f:layout>
<f:ResponsiveGridLayout
labelSpanL="3"
labelSpanM="3"
emptySpanL="4"
emptySpanM="4"
columnsL="1"
columnsM="1" />
</f:layout>
<f:formContainers>
<f:FormContainer id="rowDetFormEditContainer">
</f:FormContainer>
</f:formContainers>
</f:Form>
</l:content>
</l:Grid>
</content>
<footer>
<Bar>
<contentRight>
<Button text="Accetta" press="onPressOnAccept" type="Accept" />
</contentRight>
</Bar>
</footer>
</Page>
答案 0 :(得分:0)
我认为您在Element
中使用的addField()
存在问题。
此NOM_DOGANALE
使用input
元素旁边,否则使用text
。
使用input
代替text
并使用setEditable(false)
。这应该有效。