0
動態列即時選擇我有使即時選擇的問題,當列是動態的,表現爲地圖列表:在JSF
private List<Map<String,DataWindowField>> columns;
它是如何工作現在: 我有一個類,從ViewedScoped叫豆:
public class DataWindow extends Utility
{
private static final long serialVersionUID = 1L;
private TransactionObject transObject;
public Main main;
private String sqlStatement;
private List<Map<String,DataWindowField>> columns;
private List<DataWindowHeader> headers;
public List<Map<String,DataWindowField>> getColumns() {
return columns;
}
public void setColumns(List<Map<String,DataWindowField>> columns) {
this.columns = columns;
}
public List<DataWindowHeader> getHeaders() {
return headers;
}
public List<DataWindowHeader> getVisibleHeaders() {
List<DataWindowHeader> visibleHeaders=new ArrayList<DataWindowHeader>();
for(DataWindowHeader header:headers)
{
if(header.isVisible()==true)
{
visibleHeaders.add(header);
}
}
return visibleHeaders;
}
public void setHeaders(List<DataWindowHeader> headers) {
this.headers = headers;
}
}
該類
XHTML文件是看起來像在這裏:
<p:dataTable id="dw_favorites_detail" var="column" value="#{dw.columns}" scrollable="false">
<p:columns var="column_header" value="#{dw.getVisibleHeaders()}">
#{column[column_header.dbAlias].value}
</p:columns>
</p:dataTable>
我需要這樣的構造,因爲整個列的可見性可以在執行過程中更改。
而我的問題是如何爲這些行創建DataModel以進行即時選擇?
我目前的模式還沒有完成,因爲我不知道該如何選擇對應一行地圖:提前
public class DataWindowRowModel extends ListDataModel<Map<String,DataWindowColumn>> implements SelectableDataModel<Map<String,DataWindowColumn>> {
@Override
public Map<String,DataWindowColumn> getRowData(String arg0) {
List<Map<String,DataWindowColumn>> columns=(List<Map<String,DataWindowColumn>>) getWrappedData();
for(Map<String,DataWindowColumn> column:columns)
{
}
return null;
}
@Override
public Object getRowKey(Map<String,DataWindowColumn> rowdata) {
return rowdata;
}
}
感謝。