Listview Wicket显示授权矩阵

Listview Wicket显示授权矩阵,listview,datatable,wicket,Listview,Datatable,Wicket,我试图在wicket中显示授权矩阵 到目前为止,我可以想出两种解决方案,但我找不到其中任何一种的优势 第一个,我现在更喜欢:DataTable 我正在考虑创建一个具有自定义行和列的DataTable,然后重写newCellItem方法,在每个单元格中放置一个AjaxCheckBox,并从中读取列到行的信息作为值 问题:我不需要供应商,据我所知,没有供应商是不可能制作一张桌子的 第二个想法: 列表视图 使用静态标题行逐行添加它们将非常容易 问题:我会失去一张桌子的所有优势 Wicket是否提供了任

我试图在wicket中显示授权矩阵

到目前为止,我可以想出两种解决方案,但我找不到其中任何一种的优势

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

问题:我不需要供应商,据我所知,没有供应商是不可能制作一张桌子的

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

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

Wicket是否提供了任何“最佳实践”,或者我是否应该继续使用DataTable? 如果是这样的话:是否不可能在没有提供程序的情况下创建表

因为我用我的方法获取所有信息

getAllRoles() AND getAllDependencies();

它将返回一个集合。

查看wicketstuff项目中的InMethod网格组件:
我认为它朝着正确的方向发展。

我认为
DataTable
应该是一个很好的基础。编写一个提供者并不难。你甚至可以用一个预先煮好的


“难”的部分是,几乎所有默认的
Wicket
中继器都是基于行的,即它们使用一些预定义的
IColumns
。只要不动态更改列,
DataTable
就可以了。

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

编辑:因为它经历了许多更改,所以我删除了代码片段。但是,嵌套的ListView仍在发挥作用

如果您记住.html中的结构应该是什么样的,您可以通过多个列表视图轻松访问它。

通常我们在Wicket Repeater(表)和html之间使用X-Y维度的近连接(html有3x4,Wicket有DataTable有3列,模型中有4个对象等),但这不是必需的

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

可以从中继器以一个序列发射,并通过CSS中断/格式化。在我的wicket生活中,我做了这样的1-2倍,这相当困难,因为我不是一个优秀的Web开发人员,但这是可能的


当Wicket DataTable的列未连接到实际的n属性行对象时,它可能不是一个优雅的解决方案。这种数据表的提供者必须是谎言,而不是模拟真正的问题。在这一点上,我完全同意你的观点,最终这就是我使用ListView的原因。