Отображать значок в столбце повторного управления - PullRequest
0 голосов
/ 06 декабря 2018

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

Я хочу, чтобы значок отображался в коде ниже

Вотмой код.

    <div class="panel-body">
        <xp:panel styleClass="form-group" tagName="div">
            <xe:widgetContainer id="widgetContainer2"
                titleBar="false">
                <!-- Show pager controls at top-->
                <xp:this.rendered><![CDATA[#{javascript:view1.getAllDocumentsByKey(session.getEffectiveUserName()).getCount().toFixed()>0}]]></xp:this.rendered>
                <xp:panel id="topControls" styleClass="row topPager">

                    <div class="col-sm-12">
                        <xp:pager layout="Previous Group Next" partialRefresh="true"
                            id="pager1" for="repeat1" styleClass="pull-right">
                        </xp:pager>
                    </div>
                </xp:panel>
                <!-- Show table with Data -->
                <xp:panel id="details" styleClass="col-md-12">
                    <div id="resultsDiv">
                        <table class="table table-condensed">
                            <thead>
                                <tr>
                                    <th style="width 5px">
                                    </th>
                                    <th style="width: 70px;">
                                        <xp:text escape="true" id="computedField18" tagName="label"
                                            value="${langBean.MyAttachTableNickName}">
                                        </xp:text>
                                    </th>
                                    <th style="width: 10px;">
                                        <xp:text escape="true" id="computedField5" tagName="label"
                                            value="${langBean.MyAttachTableSerialNbr}">
                                        </xp:text>
                                    </th>
                                    <th style="width: 70px;">
                                        <xp:text escape="true" id="computedField1" tagName="label"
                                            value="${langBean.MyAttachTableModelNbr}">
                                        </xp:text>
                                    </th>
                                    <th style="width 70px"></th>
                                </tr>
                            </thead>
                            <tbody>
                                <xp:repeat id="repeat1" var="rowData" indexVar="ind"
                                    value="#{view1}" rows="10" repeatControls="true">
                                    <tr>
                                        <td>
                                            <xp:text escape="false">
                                            </xp:text>
                                            <xe:multiImage>
                                                <xe:this.value><![CDATA[#{javascript:importPackage (com.cascorp);
var url
var photoURL
if(rowData.isDocument()){
    var iconName = rowData.getDocument().getItemValue("icon")
    var whURL = configBean.getValue("WorkHorseURL")
    var whDbPath = configBean.getValue("WorkHorseDbPath")
    var hostURL = configBean.HostURL
    var db: NotesDatabase = session.getDatabase("",whDbPath, false)
    //get document in whdb
    var v1:NotesView = db.getView("fsSmlu")
    var v2:NotesView = db.getView("attachmentImagesSmall")
    var whDoc:NotesDocument = v1.getDocumentByKey(iconName);
    if(whDoc == null){
    dBar.info("whDoc is null")
    } else {
    var itemValue = whDoc.getItemValueString("smKey")
    var imageDoc:NotesDocument = v2.getDocumentByKey(itemValue)
    }
    photoURL="/"+imageDoc.getUniversalID()+"/RTF/0.84?OpenElement&FieldElemFormat=jpg"
})
    try{
    url=configBean.HostURL+configBean.WorkHorseURL+photoURL
    dBar.info("URL >>> " +url)
    }catch (e){
    dBar.info("ERROR: "+ e.toString())
    return e.toString()
    }
    return url
}  else {
dBar.info("rowData is not document")
}
}]]>

</xe:this.value>
                                                    <xe:this.icons>
                                                        <xe:iconEntry
                                                            url="#{viewScope.photoURL}">
                                                        </xe:iconEntry>
                                                    </xe:this.icons>

                                            </xe:multiImage>
                                        </td>
                                        <td>
                                            <xp:text escape="true" value="#{rowData.Attachment}"
                                                id="computedield12" value="#{rowData.serialNbr}">
                                            </xp:link>
                                        </td>
                                        <td>
                                            <xp:text escape="true" id="computedField6" value="#{rowData.serialNbr}">
                                            </xp:text>
                                        </td>
                                        <td>
                                            <xp:text escape="true" id="computedField2" value="#{rowData.modelNbr}">
                                            </xp:text>
                                        </td>
                                    </tr>
                                </xp:repeat>
                            </tbody>
                        </table>
                    </div>
                </xp:panel>


                <!-- Footer row with pager -->
                <xp:panel id="panel7" styleClass="row">
                    <div class="col-sm-12">
                        <xp:pager layout="Previous Group Next" partialRefresh="true"
                            id="pager4" for="repeat1" styleClass="pull-right">
                        </xp:pager>
                        <xe:pagerSizes id="pagerSizes1" for="repeat1"
                            text="${langBean.pagerSizesPretext} {0} #{langBean.pagerSizesPosttext}">
                        </xe:pagerSizes>
                    </div>
                </xp:panel>
            </xe:widgetContainer>
        </xp:panel>
    </div>
</xe:widgetContainer>

Что я делаю не так?

1 Ответ

0 голосов
/ 07 декабря 2018

Майк, во-первых, следующий кодовый блок выдает уже указанную ошибку «Значение атрибута» и не позволяет вашему коду компилироваться:

                    <td>
                        <xp:text escape="true" value="#{rowData.Attachment}" id="computedield12" value="#{rowData.serialNbr}">
                        </xp:link>
                    </td>

Для проблемы с фотографией вы неправильно используете элемент управления xe: multiImageздесь. xe: multiImage используется для условного отображения того или иного изображения. У вас определен только один xe: iconEntry, и вы не вызываете его правильно, поскольку у него нет атрибута selectedValue.

Вместо этого замените xe:код multiImage с элементом управления xp: image для отображения одной фотографии:

            <xp:image id="image1">
                <xp:this.url><![CDATA[#{javascript:
                    var url = "";
                    // add code here to return url to image to display 
                    //
                    // then
                    return url ;}]]>
                 </xp:this.url>
            </xp:image>
...