如果我使用Simple Data Binding来绑定数据源中的字段,我会看到该字段的完整值。我想要做的是将该值拆分,然后仅向用户显示其中的一部分。例如,字段存储组合框的值,其中包含“1~Hello”,绑定显示“1~Hello”,但我只想看“Hello”。有没有像转换器这样做的方式,或者是通过JavaScript绑定分裂(“〜”)[1]的唯一方法?
答案 0 :(得分:1)
有很多方法可以做到这一点。您似乎正在使用结构化列表,因此使用ComboBox,radioButtonGroup或CheckBoxGroup控件将允许在值中定义别名。但是你真的想要一个文本框绑定,然后构建一个自定义转换器......
<xp:inputText
id="inputText1"
value="#{viewScope.demo}">
<xp:this.converter>
<xp:customConverter>
<xp:this.getAsObject><![CDATA[#{javascript:
if ("Hello".equals(value)) return "1- Hello";
//do other tests and edits
return value
}]]></xp:this.getAsObject>
<xp:this.getAsString><![CDATA[#{javascript:
if ("1-Hello".equals(value)) return "Hello";
//do other tests and edits
return value
}]]></xp:this.getAsString>
</xp:customConverter>
</xp:this.converter>
</xp:inputText>
快乐的编码!
/ Newbs