如何隐藏Cell表GWT中的列?

San*_*ain 9 gwt gwt2

我在GWT中使用Cell Table.在该单元格表中我添加了这些列.

    TextColumn<Document> idColumn = new TextColumn<Document>() {
        @Override
        public String getValue(Document object) {
            return Long.toString(object.getId());
        }
    };
    TextColumn<Document> refColumn = new TextColumn<Document>() {
        @Override
        public String getValue(Document object) {
            return object.getReferenceNumber();
        }
    };
    /*
     * DateCell dateCell = new DateCell(); Column<Contact, Date> dateColumn
     * = new Column<Contact, Date>(dateCell) {
     * 
     * @Override public Date getValue(Contact object) { return
     * object.birthday; } };
     */
    TextColumn<Document> nameColumn = new TextColumn<Document>() {
        @Override
        public String getValue(Document object) {
            return object.getDocumentName();
        }
    };
            table = new CellTable<T>();
    table.addColumn(idColumn, "Id");
    table.addColumn(refColumn, "Reference Number");
    table.addColumn(nameColumn, "Name");
}
Run Code Online (Sandbox Code Playgroud)

现在我有一些疑问:如何隐藏id列?点击行怎样才能从选定的行中获取?请帮帮我.提前致谢.

Ümi*_*mit 14

那么你可以尝试使用CellTable的固定布局,并将要隐藏的特定列的宽度设置为0px.我确实使用了另一种方法.

在我的情况下,我有一个cellTable,一按下按钮就会显示一个复选框列(将单元格置于编辑模式).我这样做是通过创建一个CheckBoxColumn并在我按下按钮时插入和删除它.它看起来像那样:

@Override
public void insertCheckBoxColumn(Column<Object,Boolean> column) {
    if (cellTable.getColumnIndex(column) == -1) {
        cellTable.addColumn(column,"");
        cellTable.setColumnWidth(column,50, Unit.PX);
    }
}

@Override
public void removeCheckBoxColumn(Column<Object, Boolean> column) {
    int index = cellTable.getColumnIndex(column);
    if (index != -1)
         cellTable.removeColumn(index);
}
Run Code Online (Sandbox Code Playgroud)

但请注意,您可能会在Google Chrome上遇到此问题.