0
private void myTreePage() {
    private final DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("<root>");
    DefaultTreeModel treeModel = new DefaultTreeModel(rootNode);
    statusImport();

            ITreeProvider<DefaultMutableTreeNode> modelProvider = new TreeModelProvider<DefaultMutableTreeNode>(treeModel, false) {
                private static final long serialVersionUID = 1L;
                @Override
                public IModel<DefaultMutableTreeNode> model(DefaultMutableTreeNode object) {
                    return Model.of(object);
                }
            };
            
            TableTree<DefaultMutableTreeNode, String> myTestTree = new TableTree<DefaultMutableTreeNode, String>("myTestTreeTable", createColumns(), modelProvider, Long.MAX_VALUE) {
                private static final long serialVersionUID = 1L;
                @Override
                protected Component newContentComponent(String id, IModel<DefaultMutableTreeNode> model) {
                    //return new CheckedFolder<DefaultMutableTreeNode>(id, this, model);
                    return new Folder<DefaultMutableTreeNode>(id, this, model);
                }
            };
           
            myTestTree.setOutputMarkupId(true);
            myTestTree.add(new WindowsTheme());
            myTestTree.getTable().add(AttributeModifier.replace("style", "width: 100%; background-color:white;"));
            addOrReplace(myTestTree);
}

private List<? extends IColumn<DefaultMutableTreeNode, String>> createColumns() {
    columns.add(new TreeColumn<>(new Model("Tree"), "obj.text"));
    columns.add(new PropertyColumn<>(new Model("FileStatus"), "FileStatus", "obj.fileStatus"));
    columns.add(new PropertyColumn<>(new Model("StartDate"), "StartDate", "obj.startDate"));
    columns.add(new PropertyColumn<>(new Model("LastDate"), "LastDate", "obj.lastDate"));
    columns.add(new PropertyColumn<>(new Model("Count"), "Count", "obj.count"));
    return columns;
}

在此处输入图像描述

在树表视图中,列标题不显示“Tree”、“FileStatus”、“StartDate”、“LastDate”、“Count”。

任何人都可以在这里帮助如何在树表中显示树表列的标题吗?会更加明显。

4

1 回答 1

0

在 TreeTable 中添加 ToptoolBar 和 BottomToolBar 后,我解决了这个问题。

**myTestTree.getTable().addTopToolbar(new HeadersToolbar<String>(treeImport.getTable(), testSortableDataProvider()));
myTestTree.getTable().addBottomToolbar(new NoRecordsToolbar(treeImport.getTable()));**



private ISortableDataProvider<DefaultMutableTreeNode, String> testSortableDataProvider() {
    ISortableDataProvider<DefaultMutableTreeNode, String> ret = new SortableDataProvider<DefaultMutableTreeNode, String>() {
        private static final long serialVersionUID = 1L;

        @SuppressWarnings("unchecked")
        @Override
        public Iterator<? extends DefaultMutableTreeNode> iterator(long arg0, long arg1) {
            return null;
        }

        @Override
        public IModel<DefaultMutableTreeNode> model(DefaultMutableTreeNode arg0) {
            return null;
        }

        @Override
        public long size() {
            return 0;
        }
    };
    return ret;
}

如果 addTopToolbar 方法中有一个空值,那么它将不起作用。

myTestTree.getTable().addTopToolbar(new HeadersToolbar<String>(treeImport.getTable(), null));

因此,应该使用可排序的数据提供程序来定义它,这将解决此问题以显示树表列标题显示问题。

myTestTree.getTable().addTopToolbar(new HeadersToolbar<String>(treeImport.getTable(), testSortableDataProvider()));
于 2021-01-05T20:09:48.217 回答