我正在使用CellTable向其中添加列.当我在每个单元格上添加行和单个数据时,它工作正常.
它有像Name,Age,Address这样的标题,下面有一行包含值
我现在希望在最后一行中使用两个按钮(编辑和删除按钮)在此列下面的行中的单个单元格中捕获一个动作cloumn,并按顺序捕获按钮单击事件.
Name Age Address Actions
A 15 123 Edit Delete
B 20 578 Edit Delete
C
Run Code Online (Sandbox Code Playgroud)
你能告诉我怎么做吗?
谢谢
Ümi*_*mit 12
有两种方法可以实现这一目标:
第二种方法更简单,更清洁.这是代码:
public void onModuleLoad() {
CellTable<Person> table = new CellTable<Person>();
List<HasCell<Person, ?>> cells = new LinkedList<HasCell<Person, ?>>();
cells.add(new ActionHasCell("Edit", new Delegate<Person>() {
@Override
public void execute(Person object) {
// EDIT CODE
}
}));
cells.add(new ActionHasCell("Delete", new Delegate<Person>() {
@Override
public void execute(Person object) {
// DELETE CODE
}
}));
CompositeCell<Person> cell = new CompositeCell<Person>(cells);
table.addColumn(new TextColumn<Person>() {
@Override
public String getValue(Person object) {
return object.getName()
}
}, "Name");
// ADD Cells for Age and Address
table.addColumn(new Column<Person, Person>(cell) {
@Override
public Person getValue(Person object) {
return object;
}
}, "Actions");
}
private class ActionHasCell implements HasCell<Person, Person> {
private ActionCell<Person> cell;
public ActionHasCell(String text, Delegate<Person> delegate) {
cell = new ActionCell<Person>(text, delegate);
}
@Override
public Cell<Person> getCell() {
return cell;
}
@Override
public FieldUpdater<Person, Person> getFieldUpdater() {
return null;
}
@Override
public Person getValue(Person object) {
return object;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5410 次 |
| 最近记录: |