Xpages,计算组合框值
我有一个组合框,它的值是10、20、30、40、50,当我创建文档并在视图中显示它时,数字会出现,但我想显示它的标签(标签是文本)而不是数字。 有人能帮我找到解决这个问题的方法吗。Xpages,计算组合框值,xpages,Xpages,我有一个组合框,它的值是10、20、30、40、50,当我创建文档并在视图中显示它时,数字会出现,但我想显示它的标签(标签是文本)而不是数字。 有人能帮我找到解决这个问题的方法吗。 谢谢使用别名类似于正常形式的用法。 将公式项用于以下值: return ["- Please select -|", "ten|10", "twenty|20", "thirty|30"]; 但请记住,存储的值始终是文本而不是数字。使用别名与正常形式的用法类似。 将公式项用于以下值: return ["- Plea
谢谢使用别名类似于正常形式的用法。 将公式项用于以下值:
return ["- Please select -|", "ten|10", "twenty|20", "thirty|30"];
但请记住,存储的值始终是文本而不是数字。使用别名与正常形式的用法类似。 将公式项用于以下值:
return ["- Please select -|", "ten|10", "twenty|20", "thirty|30"];
但请记住,存储的值始终是文本而不是数字。使用别名与正常形式的用法类似。 将公式项用于以下值:
return ["- Please select -|", "ten|10", "twenty|20", "thirty|30"];
但请记住,存储的值始终是文本而不是数字。使用别名与正常形式的用法类似。 将公式项用于以下值:
return ["- Please select -|", "ten|10", "twenty|20", "thirty|30"];
但请记住,存储的值始终是文本而不是数字。我倾向于将给定复选框的值添加到资源包中,然后从xp:selectItems和xp:viewColumn值访问该资源包 首先,我将创建一个我设置为“label”的资源包,其值如下:
itemsList_status=Draft|0,Published|1,Archived|-1
itemsList_delimiter=,
下面是一个xp:selectItems用于xp:combobox的示例:
<xp:selectItems>
<xp:this.value>
<![CDATA[#{javascript:return getSelectItems('status');}]
</xp:this.value>
</xp:selectItems>
下面是我的getSelectItems()SSJS函数:
var getSelectItems : function(key) {
try {
var returnObj = new Array();
var items = null;
switch(key) {
case "status" :
items = @Text(label.itemsList_status).split(label.itemsList_delimiter);
break
}
for( var n=0, l=items.length; n < l; n++) {
returnObj.push(items[n]);
}
return returnObj;
} catch(e) {
print(database.getTitle() + " SSJS Error for getSelectItems()");
print(e.toString());
}
}
var getSelectedValue : function(key, thisValue) {
try {
var returnObj = new Array();
var items = null;
switch(key) {
case "status" :
items = @Text(label.itemsList_status).split(label.itemsList_delimiter);
break
}
var s = "";
var l = "";
for( var n=0, i=items.length; n < i; n++) {
if(items[n].indexOf("|") == -1) {
s = items[n];
l = items[n];
} else {
s = items[n].split("|").pop();
l = items[n].split("|").shift();
}
if(thisValue == s) {
return l;
}
}
return thisValue;
} catch(e) {
print(database.getTitle() + " SSJS Error for getSelectedValue()");
print(e.toString());
}
}
var getSelectItems:函数(键){
试一试{
var returnObj=新数组();
var项=空;
开关(钥匙){
案例“状态”:
items=@Text(label.itemsList\u状态)。split(label.itemsList\u分隔符);
打破
}
对于(变量n=0,l=items.length;n
运行此函数,它将返回3个选项,分别读取草稿、发布和存档,同时实际存储0、1和-1。您遇到的问题——以及使用这种抽象的标签存储方法所要解决的问题:资源包中的值+要解决的SSJS——是当您要读取值但实际上想要显示标签时
下面是我的getSelectedValue()函数:
var getSelectItems : function(key) {
try {
var returnObj = new Array();
var items = null;
switch(key) {
case "status" :
items = @Text(label.itemsList_status).split(label.itemsList_delimiter);
break
}
for( var n=0, l=items.length; n < l; n++) {
returnObj.push(items[n]);
}
return returnObj;
} catch(e) {
print(database.getTitle() + " SSJS Error for getSelectItems()");
print(e.toString());
}
}
var getSelectedValue : function(key, thisValue) {
try {
var returnObj = new Array();
var items = null;
switch(key) {
case "status" :
items = @Text(label.itemsList_status).split(label.itemsList_delimiter);
break
}
var s = "";
var l = "";
for( var n=0, i=items.length; n < i; n++) {
if(items[n].indexOf("|") == -1) {
s = items[n];
l = items[n];
} else {
s = items[n].split("|").pop();
l = items[n].split("|").shift();
}
if(thisValue == s) {
return l;
}
}
return thisValue;
} catch(e) {
print(database.getTitle() + " SSJS Error for getSelectedValue()");
print(e.toString());
}
}
var getSelectedValue:函数(键,thisValue){
试一试{
var returnObj=新数组();
var项=空;
开关(钥匙){
案例“状态”:
items=@Text(label.itemsList\u状态)。split(label.itemsList\u分隔符);
打破
}
var s=“”;
var l=“”;
对于(变量n=0,i=items.length;n
现在,您将传递当前值和所需的label:value资源束项目句柄,该函数将输出相关标签。下面是我如何在xp:viewColumn中使用它:
<xp:viewColumn
id="viewColumn_status">
<xp:this.value><![CDATA[#{javascript:return ""}]]></xp:this.value>
<xp:text
value="#{javascript: return
getSelectedValue('status',thisEntry.getDocument().getItemValueString('status'))}" />
<xp:viewColumnHeader
value="#{label.viewColumnHeader_posts_status}"
id="viewColumnHeader_status">
</xp:viewColumnHeader>
</xp:viewColumn>
。。。就是这样,“itemList_status”的资源包条目充当label:value对的权威主控,因此您只需检查输入构建并解构它以标记存储值
希望这有帮助 我倾向于将给定复选框的值添加到资源包中,然后从xp:selectItems和xp:viewColumn值访问该资源包 首先,我将创建一个我设置为“label”的资源包,其值如下:
itemsList_status=Draft|0,Published|1,Archived|-1
itemsList_delimiter=,
下面是一个xp:selectItems用于xp:combobox的示例:
<xp:selectItems>
<xp:this.value>
<![CDATA[#{javascript:return getSelectItems('status');}]
</xp:this.value>
</xp:selectItems>
下面是我的getSelectItems()SSJS函数:
var getSelectItems : function(key) {
try {
var returnObj = new Array();
var items = null;
switch(key) {
case "status" :
items = @Text(label.itemsList_status).split(label.itemsList_delimiter);
break
}
for( var n=0, l=items.length; n < l; n++) {
returnObj.push(items[n]);
}
return returnObj;
} catch(e) {
print(database.getTitle() + " SSJS Error for getSelectItems()");
print(e.toString());
}
}
var getSelectedValue : function(key, thisValue) {
try {
var returnObj = new Array();
var items = null;
switch(key) {
case "status" :
items = @Text(label.itemsList_status).split(label.itemsList_delimiter);
break
}
var s = "";
var l = "";
for( var n=0, i=items.length; n < i; n++) {
if(items[n].indexOf("|") == -1) {
s = items[n];
l = items[n];
} else {
s = items[n].split("|").pop();
l = items[n].split("|").shift();
}
if(thisValue == s) {
return l;
}
}
return thisValue;
} catch(e) {
print(database.getTitle() + " SSJS Error for getSelectedValue()");
print(e.toString());
}
}
var getSelectItems:函数(键){
试一试{
var returnObj=新数组();
var项=空;
开关(钥匙){
案例“状态”:
items=@Text(label.itemsList\u状态)。split(label.itemsList\u分隔符);
打破
}
对于(变量n=0,l=items.length;n
运行此函数,它将返回3个选项,分别读取草稿、发布和存档,同时实际存储0、1和-1。您遇到的问题——以及使用这种抽象的标签存储方法所要解决的问题:资源包中的值+要解决的SSJS——是当您要读取值但实际上想要显示标签时
下面是我的getSelectedValue()函数:
var getSelectItems : function(key) {
try {
var returnObj = new Array();
var items = null;
switch(key) {
case "status" :
items = @Text(label.itemsList_status).split(label.itemsList_delimiter);
break
}
for( var n=0, l=items.length; n < l; n++) {
returnObj.push(items[n]);
}
return returnObj;
} catch(e) {
print(database.getTitle() + " SSJS Error for getSelectItems()");
print(e.toString());
}
}
var getSelectedValue : function(key, thisValue) {
try {
var returnObj = new Array();
var items = null;
switch(key) {
case "status" :
items = @Text(label.itemsList_status).split(label.itemsList_delimiter);
break
}
var s = "";
var l = "";
for( var n=0, i=items.length; n < i; n++) {
if(items[n].indexOf("|") == -1) {
s = items[n];
l = items[n];
} else {
s = items[n].split("|").pop();
l = items[n].split("|").shift();
}
if(thisValue == s) {
return l;
}
}
return thisValue;
} catch(e) {
print(database.getTitle() + " SSJS Error for getSelectedValue()");
print(e.toString());
}
}
var getSelectedValue:函数(键,thisValue){
试一试{
var returnObj=新数组();
var项=空;
开关(钥匙){
案例“状态”:
items=@Text(label.itemsList\u状态)。split(label.itemsList\u分隔符);
打破
}
var s=“”;
var l=“”;
对于(变量n=0,i=items.length;n
现在,您将传递当前值和所需的label:value资源束项目句柄,该函数将输出相关标签。下面是我如何在xp:viewColumn中使用它:
<xp:viewColumn
id="viewColumn_status">
<xp:this.value><![CDATA[#{javascript:return ""}]]></xp:this.value>
<xp:text
value="#{javascript: return
getSelectedValue('status',thisEntry.getDocument().getItemValueString('status'))}" />
<xp:viewColumnHeader
value="#{label.viewColumnHeader_posts_status}"
id="viewColumnHeader_status">
</xp:viewColumnHeader>
</xp:viewColumn>
。。。就是这样,“itemList_status”的资源包条目充当label:value对的权威主机,因此您只需检查输入构建的