为什么我不能在xpages重复控件中获取单独的文档?

时间:2017-06-05 19:19:29

标签: xpages repeat domino-designer-eclipse

我之前已经为其他项目做过这个,但这次似乎无法让这个工作。

我有一个重复控件,它返回几个unids的列表。重复中的面板绑定到NotesDocument,该文档根据每个unid打开文档。面板上的ignoreRequestParams = true。很简单。除外,它不起作用。

<xp:panel id="panelDetail">
    <xp:this.data>
        <xp:dominoDocument var="detdoc"
            formName="QuoteDetail" documentId="#{javascript:detdata}" 
            ignoreRequestParams="true" action="openDocument">
        </xp:dominoDocument>
    </xp:this.data>

其中detdata是来自父重复控件(unid)的var。

面板中的一个链接检查我的文档(detdoc)是否可编辑,但是,这是我得到的错误。

Error calling method 'isEditable()' on an object of type 'lotus.domino.local.Document [Static Java Interface Wrapper, lotus.domino.local.Document: lotus.domino.Document]'
是什么给了什么?

我在面板中有几个绑定到detdoc中的字段的编辑框,它们似乎正确显示 - 每行显示不同的值,但我使用detdoc.getItemValueString(“fieldname”)的计算字段都显示值从第一份文件。 ???

pic of my repeat

我已经检查了属性并将其与之前的工作项目进行了比较,但是我无法在这里查看我的问题。有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:0)

您的isEditable()检查似乎是针对后端文档(lotus.domino.local.Document)而不是dominoDocument数据源执行的。请检查相关组件。

如果您的日志记录无法识别,请使用OpenNTF的XPage OpenLog Logger,它将错误和相关组件输出到OpenLog数据库(从OpenNTF上的单独OpenLog项目下载OpenLog数据库本身 - XPage OpenLog Logger只是用于执行日志记录的XPages扩展库。

答案 1 :(得分:0)

我找到了解决方案。我的重复控件从视图中的文档中提取unid。使用的视图取决于重复上方的组合框,允许用户过滤他们想要查看的条目。在我的组合框选择公式中,我使用了

var detdoc = ventry.getDocument(); var seat = detdoc.getItemValueString(&#34; SeatVars&#34;); 等

显然,这种用法会延续到它下面的面板中,所以它无法解决这个detdoc任务和&#34; detdoc&#34;我用于面板dominoDocument数据源。我改变了组合框以使用&#34; doc&#34;而不是&#34; detdoc&#34;现在我的数据源&#34; detdoc&#34;正确找到了。

猜猜我的公式需要稍微具体一点。

感谢您的回复 - 您促使我找到答案,有时候,我需要的只是......只是一组不同的眼睛和不同的观点。再次感谢你。

编辑: 对不起,取得了进展,但仍未完全解决。 在我的面板中,detdoc定义为数据源,我有另一个重复控件,显示动态绑定字段。这意味着必须使用&#34;在页面创建时创建控件来定义重复&#34;检查。但是,看起来这个重复尝试在包含面板绑定到detdoc之前呈现,因为我的重复控制绑定公式报告&#34; detdoc not found&#34;。如果在渲染时没有识别detdoc,我如何在重复中使用动态字段?