Primefaces static and dynamic columns in datatable

后端 未结 2 1980
礼貌的吻别
礼貌的吻别 2020-11-27 07:43

I am using Primefaces 5.0 to create a dynamic datatable.

My DataObject has some required fields and a List of optional \"tupel\" (key-value pair). The optional list

2条回答
  •  不知归路
    2020-11-27 08:20

    java:

    @Named
    @ViewScoped
    public class LiveRangeService implements Serializable {
        private List< Map > tableData;
        private List tableHeaderNames;
    
    
        public List> getTableData() {
            return tableData;
        }
        public List getTableHeaderNames() {
            return tableHeaderNames;
        }
    
        public void PlayListMB() {
            tableData = new ArrayList< Map >();
    
            //Generate table header.
            tableHeaderNames = new ArrayList();
            for (int j = 0; j < 5; j++) {
                  tableHeaderNames.add(new ColumnModel("header "+j, " col:"+ String.valueOf(j+1)));
            }
    
            //Generate table data.
            for (int i = 0; i < 10; i++) {
                Map playlist = new HashMap();
                for (int j = 0; j < 5; j++) {
                    playlist.put(tableHeaderNames.get(j).key,new ColumnModel(tableHeaderNames.get(j).key,"row:" + String.valueOf(i+1) +" col:"+ String.valueOf(j+1)));
                }
                tableData.add(playlist);
            }
        }
    
        static public class ColumnModel implements Serializable {
    
            private String key;
            private String value;
    
            public ColumnModel(String key, String value) {
                this.key = key;
                this.value = value;
            }
    
            public String getKey() {
                return key;
            }
    
            public String getValue() {
                return value;
            }
        }
    

    And XHTML:

                    
    
                        
    
                              header table 
    
                            
                                
                                    
                                
                                
                            
    
                            
                                
                                    
    
                                
                                
                                

    That's a example.

提交回复
热议问题