我在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");
}
现在我有一些疑问: 如何隐藏id列? 点击行怎样才能从选定的行中获取? 请帮帮我。 提前谢谢。
答案 0 :(得分: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);
}
但请注意,您可能会在Google Chrome上遇到此issue。