如何在单元格表GWT中隐藏列?

如何在单元格表GWT中隐藏列?,gwt,gwt2,Gwt,Gwt2,我在GWT中使用单元格表。在该单元格表中,我添加了这些列 TextColumn<Document> idColumn = new TextColumn<Document>() { @Override public String getValue(Document object) { return Long.toString(object.getId()); } }; TextC

我在GWT中使用单元格表。在该单元格表中,我添加了这些列

    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");
}
TextColumn idColumn=newtextcolumn(){
@凌驾
公共字符串getValue(文档对象){
返回Long.toString(object.getId());
}
};
TextColumn refColumn=新建TextColumn(){
@凌驾
公共字符串getValue(文档对象){
返回object.getReferenceNumber();
}
};
/*
*DateCell DateCell=新的DateCell();列日期列
*=新列(日期单元格){
* 
*@Override public Date getValue(联系人对象){return
*object.birth;}};
*/
TextColumn name column=新建TextColumn(){
@凌驾
公共字符串getValue(文档对象){
返回object.getDocumentName();
}
};
table=新的CellTable();
表.addColumn(idColumn,“Id”);
表.添加栏(参考栏,“参考号”);
表.addColumn(名称栏,“名称”);
}
现在我有一些疑问: 如何隐藏id列? 单击行时,我如何从所选行获取数据? 请帮帮我。
提前感谢。

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

在我的例子中,我有一个cellTable,只要我按下一个按钮(这将使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);
}
@覆盖
公共void insertCheckBoxColumn(列){
if(cellTable.getColumnIndex(column)=-1){
cellTable.addColumn(列“”);
cellTable.setColumnWidth(列,50,单位为PX);
}
}
@凌驾
public void removeCheckBoxColumn(列){
int index=cellTable.getColumnIndex(列);
如果(索引!=-1)
cellTable.removeColumn(索引);
}

但是请注意,您可能会在google chrome上遇到此问题。

插入、删除多个列时,如何处理列排序问题,请阅读此问题