У меня проблемы с вычислением имени поля привязки данных. Я не получаю никаких ошибок, однако переключатель находится в состоянии «отключено». Когда я помещаю простую привязку данных в то, что, как я знаю, работает, радио теряет свое состояние «отключено» и работает как положено, но, очевидно, не сохраняет в нужное имя поля. Конечной целью является создание имени поля на основе комбинации двух пользовательских свойств. Я пробовал разные вещи, некоторые из которых показаны ниже:
1. compositeData.dataSource[compositeData.fieldName #compositeData.radio1LabelText]
2. compositeData.dataSource[compositeData.fieldName+compositeData.radio1LabelText]
3. compositeData.dataSource[compositeData.fieldName,compositeData.radio1LabelText]
4. try{
var fieldName:string=compositeData.fieldName;
var fieldLabel:string=compositeData.radio1LabelText;
return compositeData.dataSource+"."+fieldName+fieldLabel;
}catch(e){
openLogBean.addError(e,this.getParent());
}
5. compositeData.dataSource[compositeData.fieldName += compositeData.radio1LabelText]
6.compositeData.dataSource[compositeData.fieldName.concat(compositeData.radio1LabelText)]
Спасибо
ОБНОВЛЕНИЕ в комментариях чата с Джесси:
<xp:repeat id="repeat1" rows="30"
value="#{javascript:compositeData.labels}" var="rptLabels">
<tr>
<td>
<xp:panel>
<xp:this.dataContexts>
<xp:dataContext var="concatRadioName1">
<xp:this.value><![CDATA[#{javascript:var tmpString = "GIMS"+rptLabels+"Self";
var fieldName = tmpString.replace(/\s+/g, '');
print(fieldName);
return fieldName
}]]></xp:this.value>
</xp:dataContext>
</xp:this.dataContexts>
<xp:radioGroup styleClass="no-margin">
<xp:this.value><![CDATA[#{compositeData.dataSource[concatRadioName1]}]]></xp:this.value>
<xp:selectItem itemValue="1" itemLabel=""></xp:selectItem>
<xp:selectItem itemValue="2" itemLabel=""></xp:selectItem>
<xp:selectItem itemValue="3" itemLabel=""></xp:selectItem>
</xp:radioGroup>
</xp:panel>
</td>
</tr>
</xp:repeat>