我需要为视图提供按字母顺序排列的寻呼机。我没有看到任何样本或自定义寻呼机解决这个问题。我认为这将是一件非常普遍的事情。
MJ
答案 0 :(得分:5)
我不太确定你的“字母寻呼机”是什么意思,但我想你可能正在寻找某种字母导航器,就像我们在Notes客户端内的个人NAB中那样,对吗?
如果是这样,你不是真的在寻找寻呼机,而是寻找按字母顺序排列的视图过滤器。这是实现目标的一种方式:
在这个新面板中重复并将其绑定到一个新的JavaScript数组,如:
新数组(“a”,“b”,“c”,...,“x”,“y”,“z”);
输入重复的集合名称,例如“letter”
将一个onclick事件分配给链接,将sessionScope变量设置为当前集合名称的值,如下所示:
sessionScope.filter = letter;
将事件的刷新模式设置为partial,以便刷新viewContainer面板
在viewContainer中突出显示您的视图控件。在其数据属性中查找标记为“按列值过滤”的属性字段并进行计算。输入以下代码:
sessionScope.filter;
就是这样。
修改强> 当然,您可以从视图本身动态构建repeat的数据源数组。因此,您可以使用以下内容来代替构建静态a-to-z数组:
@Unique(@Left(@DbColumn(@DbName(), "yourLookupView", viewColNumber), 1));
那应该返回一个只包含你视图中真实字母的数组。
另外,您可以在重复之外重置过滤器以显示所有条目。它将像onclick事件的重复链接一样构建,调用此代码:
sessionScope.filter=null;
享受!
答案 1 :(得分:1)
我会这样做:制作一个按公式@Left( value; 1)
分类的视图。然后通过repeat或一些ExtLib组件(链接列表,导航器,菜单)将@DbColumn的结果呈现为寻呼机。每个链接将显示的视图限制为“单个类别”或跳转到“以...开头”字符。