2016-10-10 12 views
1

Я разрабатываю приложение xpages и использую 1 настраиваемый элемент управления, где у меня есть поле с большим текстом. Исходный документ находится на главной странице. Богатое текстовое поле имеет значение через композицию. Я передаю документ и имя поля. В CC я адресую текстовое поле как compositeData.DataSource [имя_компьютера.файла] Где DataSource мой документ1 и имя поля - имя поля с большим текстом в документе заметок.Богатое текстовое поле в настраиваемом элементе управления с составными данными

Все работы, кроме вставки изображения в расширенный текст и удаления вложений.

Я нашел много информации об этом, но не реальное решение. Разве никто не нашел решение для этого?

С уважением,

Питер

Вот код:

таможенного контроля

<?xml version="1.0" encoding="UTF-8"?> 
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" 
    xmlns:xe="http://www.ibm.com/xsp/coreex"> 
    <xp:panel> 
     <xp:label id="label1" value="Title:"></xp:label> 
     <xp:inputText id="inputText1"> 
      <xp:this.value><![CDATA[#{compositeData.DataSource[compositeData.Title]}]]></xp:this.value> 
     </xp:inputText> 
     <xp:br></xp:br> 

     <xp:inputRichText id="richtext"> 
     <xp:this.value><![CDATA[#{compositeData.DataSource[compositeData.Field]}]]></xp:this.value></xp:inputRichText> 
     <xp:fileUpload id="fileUpload1"> 
      <xp:this.value><![CDATA[#{compositeData.DataSource[compositeData.Field]}]]></xp:this.value> 
     </xp:fileUpload> 

     <xp:fileDownload rows="30" id="fileDownload1" 
      displayLastModified="false" allowDelete="true"> 
      <xp:this.value><![CDATA[#{compositeData.DataSource[compositeData.Field]}]]></xp:this.value> 
     </xp:fileDownload> 

    </xp:panel> 

</xp:view> 

XPage с использованием CC

<?xml version="1.0" encoding="UTF-8"?> 
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xc="http://www.ibm.com/xsp/custom" 
    xmlns:xe="http://www.ibm.com/xsp/coreex"> 

    <xp:this.data> 
     <xp:dominoDocument var="document1" formName="testform"></xp:dominoDocument> 
    </xp:this.data> 
    <xe:applicationLayout id="applicationLayout1"> 
     <xp:panel> 
      <xp:button id="button1"> 
       <xp:this.value><![CDATA[Save & Close]]></xp:this.value> 
       <xp:eventHandler event="onclick" submit="true" 
        refreshMode="complete"> 
        <xp:this.action> 
         <xp:actionGroup> 
          <xp:saveDocument var="document1"></xp:saveDocument> 
          <xp:openPage name="$$PreviousPage"></xp:openPage> 
         </xp:actionGroup> 
        </xp:this.action> 
       </xp:eventHandler> 
      </xp:button> 
      <xp:br></xp:br> 
      <xc:cc DataSource="#{javascript:document1}" Field="Body" Title="Title"> 
      </xc:cc> 
     </xp:panel> 
     <xe:this.configuration> 
      <xe:bootstrapResponsiveConfiguration></xe:bootstrapResponsiveConfiguration> 
     </xe:this.configuration> 
    </xe:applicationLayout> 

    <xp:this.navigationRules> 
     <xp:navigationRule outcome="xsp-success" viewId="$$PreviousPage"></xp:navigationRule> 
    </xp:this.navigationRules> 
</xp:view> 
+0

Пожалуйста добавьте пример кода. У меня это работает, и вы найдете пример для вас завтра –

ответ

0

Я использую следующее в пользовательском элементе управления. Обратите внимание, что я использую другой синтаксис для параметра значение для хр: inputRichText, чем для управления загрузки и выгрузки - и что значение параметра вычисляется на странице загрузки ($) вместо динамически (#):

<xp:inputRichText id="richtext" value="${javascript:'#{document.' + compositeData.fieldName + '}';}"></xp:inputRichText> 

    <xp:fileUpload id="fileUpload" value="#{document[compositeData.fieldName]}"></xp:fileUpload> 

    <xp:fileDownload id="fileDownload" value="#{document[compositeData.fieldName]}"></xp:fileDownload> 
+0

Это работает, когда вы пытаетесь использовать свой код, но мой код немного сложнее. Имя поля, которое я передаю в пользовательский элемент управления, извлекается из документа. Этот документ находится внутри повторного управления. В этом случае я получаю сообщение об ошибке «fielddoc not found». Я полагаю, потому что $ задает значение для загрузки страницы, а fielddoc - динамически? –

+0

<хр: повторить ID = "Repeat1" строки = "30" переменная = "docCol"> <хс: сс DataSource = "# {JavaScript: документ1}" Название = "Заголовок"> <хс: это. Поле>

+0