Xpages排序日期
Xpages sorting date
我无法在 Xpages 中排序和显示正确的日期。
它以 "dd.MM.yyyy" 格式保存,并且是一个字符串。
现在为什么它是一个字符串并以这种方式格式化,是因为我的老板有特殊的愿望。当我想将它从最新日期排序到更早日期时,它会执行如下操作:
26.05.2015
24.06.2014
22.04.2015
21.04.2015
20.03.2014
开始按天排序。
有没有办法让它按应有的方式排序?
我看到我可以将计算值写入视图列 header 中的排序列以获取日期。但我什至不知道如何开始。
如果日期时间值不能解决您的问题并且您没有通过@Text 转换您的日期(如评论中所述),那么在您应该显示的列之前创建另一个(隐藏)列。将其设置为真实日期(来自您的项目),对其进行排序并取消对要显示的列进行排序。
否则在新创建的排序列中使用此公式:
@Text(@Year(yourDate))+"-"+@Right("00"+@Text(@Month(yourDate));2)+"-"+@Right("00"+@Text(@Day(yourDate));2)
更改基础 Notes 视图以使日期列的顺序正确。
将日期字符串转换为视图列公式中的实际日期值。假设您的字段名为 DateText
那么您的公式将是
@Date(@ToNumber(@Right(DateText; 4));
@ToNumber(@Middle(DateText; 3; 2));
@ToNumber(@Left(DateText; 2)))
只使用 @ToTime(DateText)
会更容易,但这可能会失败,具体取决于服务器的本地设置。您的日期字符串格式适用于具有德语区域设置的服务器,但不适用于美国。这就是为什么我建议的解决方案 "safer".
我无法在 Xpages 中排序和显示正确的日期。 它以 "dd.MM.yyyy" 格式保存,并且是一个字符串。
现在为什么它是一个字符串并以这种方式格式化,是因为我的老板有特殊的愿望。当我想将它从最新日期排序到更早日期时,它会执行如下操作:
26.05.2015
24.06.2014
22.04.2015
21.04.2015
20.03.2014
开始按天排序。
有没有办法让它按应有的方式排序?
我看到我可以将计算值写入视图列 header 中的排序列以获取日期。但我什至不知道如何开始。
如果日期时间值不能解决您的问题并且您没有通过@Text 转换您的日期(如评论中所述),那么在您应该显示的列之前创建另一个(隐藏)列。将其设置为真实日期(来自您的项目),对其进行排序并取消对要显示的列进行排序。
否则在新创建的排序列中使用此公式:
@Text(@Year(yourDate))+"-"+@Right("00"+@Text(@Month(yourDate));2)+"-"+@Right("00"+@Text(@Day(yourDate));2)
更改基础 Notes 视图以使日期列的顺序正确。
将日期字符串转换为视图列公式中的实际日期值。假设您的字段名为 DateText
那么您的公式将是
@Date(@ToNumber(@Right(DateText; 4));
@ToNumber(@Middle(DateText; 3; 2));
@ToNumber(@Left(DateText; 2)))
只使用 @ToTime(DateText)
会更容易,但这可能会失败,具体取决于服务器的本地设置。您的日期字符串格式适用于具有德语区域设置的服务器,但不适用于美国。这就是为什么我建议的解决方案 "safer".