【问题标题】:Wicket display Authorization Matrix检票显示授权矩阵
【发布时间】:2015-08-31 10:56:22
【问题描述】:

我正在尝试在检票口中显示授权矩阵。

到目前为止,我可以提出 2 个解决方案,但我无法从其中任何一个中找到优势。

第一个,我现在更喜欢:DataTable
我正在考虑创建一个包含自定义行和列的 DataTable,然后覆盖 newCellItem 方法以在每个单元格中放置一个 AjaxCheckBox 并从中读取列到行的信息作为值。

问题:我不需要提供者,据我所知,没有提供者是不可能制作表格的。

第二个想法: 列表视图
使用静态标题行逐行添加它们会很容易。

问题:我会失去一张桌​​子的所有优势。

Wicket 是否提供了任何“最佳实践”,或者我应该继续使用 DataTable 吗? 如果是这样:没有提供者就不可能创建表吗?

因为我通过我的方法获得了所有信息

getAllRoles() AND getAllDependencies();

这将返回一个 Set。

【问题讨论】:

    标签: listview datatable wicket


    【解决方案1】:

    通常我们在 X-Y 维度上使用 Wicket 中继器(表格)和 HTML 之间的近距离连接(HTML 有 3x4,wicket 有 DataTable,模型中有 3 列和 4 个对象等),但这不是必需的。

    Wicket Repeater 可以在线写入数据,简单的一维Repeater 从Java 代码中断到html 行等(将额外的标签作为对象或普通字符串发出)。

    可以在一个序列中从中继器发出并通过 CSS 中断/格式化。我在检票口生活中取得了这样的 1-2 倍,这非常困难,因为我不是优秀的网络开发人员,但可能

    当他的 Columns 没有连接到现实生活中的 n 属性行对象时,Wicket DataTable 可能不是优雅的解决方案。此类 DataTable 的提供者必须是谎言,而不是模拟真正的问题域。

    【讨论】:

      【解决方案2】:

      看看来自 wicketstuff 项目的 InMethod 网格组件:http://www.wicket-library.com/inmethod-grid/data-grid/editable-selection 我认为它朝着正确的方向发展。

      【讨论】:

        【解决方案3】:

        我认为DataTable 应该是一个很好的基础。编写提供程序并不难。您甚至可以使用预煮的 ListDataProvider

        “硬”部分是几乎所有默认的Wicket 中继器都是基于行的,即它们使用一些预定义的IColumns 集。只要不动态更改列,DataTable 应该没问题。

        【讨论】:

        • 我完全同意你的观点,最终这就是我使用 ListView 的原因。
        【解决方案4】:

        我的最终解决方案是为行和列创建一个 ListView。 在我的行 ListView 中,我有一个用于单元格的 ListView,它具有与“列”相同数量的对象。

        编辑:由于它经历了很多变化,我删除了代码sn-ps。但是,嵌套的 ListViews 仍然可以完成这项工作。
        如果您牢记 .html 中的结构应该如何,您可以使用多个 ListView 轻松访问它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-05-08
          • 2012-09-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多