如何在viewCategoryColumn中访问“value”属性

时间:2014-04-13 05:42:22

标签: xpages xpages-extlib

我在移动应用程序中使用扩展库中的DataView控件。 category列包含分类视图中的值,也显示文档的状态。 (值为0和1) 我想根据用户选择的语言翻译DataView控件中的值。所以我需要从这个值构建密钥以从我的语言资源文件中返回值。

控件的value属性包含当前值。 但是我如何获取此值?

我愿意做这样的事情

if (this.Value.equals("0")) {
   return lbls["status.not.activated"];
} else {
   return lbls["status.activated"];
}

1 个答案:

答案 0 :(得分:1)

如果没有看到任何代码,我只能猜测您可能已将DataView控件绑定到普通的DominoView数据源。并且我认为,对于“value”,您指的是DataView的“viewCategoryColumn”子控件的value属性。

我从你的代码片段中看到的一件事是,你拼写的“Value”属性的大写字母为“V”,这可能是一个拼写错误,但如果它在你的实际代码中就是这样,那么这一定是错误的。< / p>

除此之外,我在一个非常简单的测试场景中尝试了这一点,其中我的数据源是一个视图,使用表单字段作为类别列。在我看来,使用如下代码也应该是您的任务的解决方案:

<xe:this.categoryColumn>
    <xe:viewCategoryColumn
        columnName="Form"
        columnTitle="Form">
    <xe:this.value><![CDATA[#{javascript:
if(@LowerCase(viewEntry.getColumnValues()[0])=="testform"){
    return "Standard Form";
}else{
    return "Other Form";
}}]]></xe:this.value>
    </xe:viewCategoryColumn>
</xe:this.categoryColumn>

viewEntry变量已被定义为dataView本身的核心属性,因为我们使用许多viewPanel,重复等,从而产生NotesXspViewEntry类型的对象:

<xe:dataView
    id="dataView1"
    columnTitles="true"
    var="viewEntry">
    ...
</xe:dataView>

希望这有帮助