1

我需要一个按字母顺序排列的寻呼机来查看。我没有看到任何解决此问题的示例或自定义寻呼机。我认为这将是一件很常见的事情。

乔丹

4

2 回答 2

5

我不太确定“字母寻呼机”的真正含义,但我认为您可能正在寻找某种字母导航器,就像我们在 Notes 客户端内的个人 NAB 中所拥有的那样,对吧?

如果是这样,您并不是真的在寻找寻呼机,而是在寻找按字母顺序排列的视图过滤器。这是到达那里的一种方法:

  • 创建一个面板,给它一个独特的 ID,比如“viewContainer”之类的。将您的视图面板放入面板中;当然视图的主要排序顺序必须是字母顺序
  • 在“viewContainer”上方创建第二个面板,此处不需要 ID
  • 在这个新面板中添加一个重复并将其绑定到一个新的 JavaScript 数组,如下所示:

    新数组(“a”,“b”,“c”,...,“x”,“y”,“z”);

  • 输入重复的集合名称,例如“字母”

  • 在重复中放置一个链接控件。链接的标签将被计算为重复的集合名称,即“字母”。
  • 将 onclick 事件分配给将 sessionScope 变量设置为当前集合名称值的链接,如下所示:

    sessionScope.filter = 字母;

  • 将事件的刷新模式设置为部分,以便刷新您的 viewContainer 面板

  • 在 viewContainer 中突出显示您的视图控件。在其数据属性中查找标记为“按列值过滤”的属性字段并进行计算。输入此代码:

    sessionScope.filter;

就是这样。

编辑: 当然,您可以从视图本身动态构建重复的数据源数组。因此,除了构建静态 a-to-z 数组之外,您还可以使用以下内容:

@Unique(@Left(@DbColumn(@DbName(), "yourLookupView", viewColNumber), 1));

那应该返回一个数组,只包含那些真正在你视图中的字母。

您也可以在重复重置过滤器之外使用另一个静态链接控件以显示所有条目。它将像调用此代码的 onclick 事件的重复链接一样构建:

sessionScope.filter=null;

享受!

于 2012-07-11T23:16:18.637 回答
1

我会这样做:制作一个按公式分类的视图@Left( value; 1)。然后通过重复或某些 ExtLib 组件(链接列表、导航器、菜单)将 @DbColumn 的结果呈现为寻呼机。每个链接要么将显示的视图限制为“单个类别”,要么跳转到“开始于”字符。

于 2012-07-11T22:47:34.077 回答