Динамическое связывание в повторном контроле

В модуле заказа на поставку нам нужно задать определенные вопросы в зависимости от метода выбора источника, типа конкурса и общей стоимости заказа на поставку. Эти вопросы могут меняться со временем и между различными экземплярами базы данных.

Итак, у меня есть представление, содержащее вопросы, так что я могу динамически добавлять вопросы в мой XPage без необходимости изменения кода. Ответ на каждый вопрос будет храниться в поле. Таким образом, документ, содержащий вопрос, имеет поле с именем FieldName, которое используется для предоставления имени поля, которое будет использоваться. К сожалению, мне не повезло связывать эти динамические поля с документом.

<xp:this.data>
    <xp:dominoView var="competitionQuestionView"
        viewName="CompetitionQuestions">
    </xp:dominoView>
</xp:this.data>
<xp:repeat id="repeat2" rows="30" var="rowData" style="width:700px"
    value="#{competitionQuestionView}">
    <xp:label id="label1">
        <xp:this.value><![CDATA[#{javascript:rowData.getColumnValue("Question");}]]></xp:this.value>
    </xp:label>
    <xp:inputText id="inputText1">
        <xp:this.rendered><![CDATA[#{javascript:rowData.getColumnValue("FieldType") == "Text Box"; }]]></xp:this.rendered>
        <xp:this.value><![CDATA[#{javascript:poDoc[rowData.getColumnValue ("FieldName")];}]]></xp:this.value>
    </xp:inputText>
</xp:repeat>

Я пробовал разные способы сделать это, включая создание настраиваемого элемента управления dynamicInputText для передачи имени поля, но безуспешно. Самое близкое, что я получил, было, когда я использовал это:

<xp:this.value>
<![CDATA[#{javascript:tmp = rowData.getColumnValue ("FieldName");'#{poDoc.'+tmp+'}';}]]>
</xp:this.value>

Это дало мне что-то вроде# {PoDoc.justification}Это было то, что я хотел передать «связыванию», но в итоге оно отображалось как текстовое значение.

Я пытался использовать $ для вычисления значения при загрузке, но я предполагаю, что это не сработало, потому что мое представление (и rowData) недоступно при загрузке. В конечном итоге это может вызвать проблемы, если я захочу использовать частичное обновление из-за обновлений критериев, для которых поля я все равно хочу отображать.

Некоторые ответы на другие вопросы выглядели многообещающими, но код не был предоставлен, поэтому я не мог понять это.

Ответы на вопрос(1)

Ваш ответ на вопрос