2015-08-31 71 views
1

我試圖在檢票中顯示授權矩陣。檢票顯示授權矩陣

到目前爲止我可以想出2種解決方案,但我無法在其中找到任何優勢。

首先一個,我寧願在此刻:的DataTable
我想創建自定義的行和列的DataTable,然後重寫newCellItem方法將一個AjaxCheckBox在每一個細胞和讀取的列的信息作爲它的值。

問題:我不需要提供者,據我所知,無法創建沒有一個表的表。

第二個想法: 的ListView
這將是很容易添加它們按行用靜態標題行排。

問題:我放棄了桌子上的每一個優點。

Wicket提供了哪些「最佳實踐」,還是應該繼續使用DataTable? 如果是這樣:是否有沒有可能創建一個沒有提供者的表?

因爲我與我的方法

getAllRoles() AND getAllDependencies(); 

這將返回一組的所有信息。

回答

0

我最終的解決方案是創建一個ListView的行和一個列。 在我的行ListView我有一個ListView的單元格,它具有與「列」相同數量的對象。

編輯:由於它經歷了許多變化,我刪除了代碼片段。但是,嵌套的ListViews仍然在做這項工作。
如果您牢記.html中的結構應該如何,您可以使用多個ListViews輕鬆訪問它。

0

我認爲DataTable應該是一個很好的基礎。寫一個提供者並不難。你甚至可以使用一個預先煮熟之一,ListDataProvider

「硬」的部分是,幾乎所有的默認Wicket中繼器是基於行,即他們使用一些預先定義的一組IColumns。只要你不動態改變列,DataTable應該沒問題。

+0

我完全同意你的觀點,最終這就是我使用ListView的原因。 –

1

通常我們使用Wicket中繼器(表格)和HTML之間的X-Y維度(HTML有3x4,Wicket在模型中有3列ant 4對象等數據表),但這不是必需的。

Wicket Repeater可以直接寫入數據,簡單的一維從Java代碼到html行等的Repeater中斷(發出額外的標籤作爲對象或普通字符串)。

有可能從Repeater以一個序列發射並通過CSS格式化。我在我的wicket生活中做了這樣的1-2倍,很難,因爲我不是很好的web開發者,但可能

Wicket DataTable可能不是優雅的解決方案,當他的列沒有連接到現實生活的n屬性行對象。這種DataTable的提供者必須說謊,而不是模擬真正的問題doimain。