Gwt 有人有在CompositeCell中工作的ActionCells的工作示例吗?
我尝试按照示例,在CompositeCell中添加了两个ActionCell,但没有成功。ActionCell的onBrowserEvent()不会被触发。这个简单的示例对我很有用。由于您没有提供任何代码或进一步解释您到底想要实现什么,我不知道我的示例是否有任何帮助Gwt 有人有在CompositeCell中工作的ActionCells的工作示例吗?,gwt,Gwt,我尝试按照示例,在CompositeCell中添加了两个ActionCell,但没有成功。ActionCell的onBrowserEvent()不会被触发。这个简单的示例对我很有用。由于您没有提供任何代码或进一步解释您到底想要实现什么,我不知道我的示例是否有任何帮助 public void onModuleLoad() { CellTable<Person> table = new CellTable<Starter.Person>(); List<
public void onModuleLoad() {
CellTable<Person> table = new CellTable<Starter.Person>();
List<HasCell<Person, ?>> cells = new LinkedList<HasCell<Person, ?>>();
cells.add(new HasCellImpl("first name", new Delegate<Person>() {
@Override
public void execute(Person object) {
Window.alert(object.getFirstName());
}
}));
cells.add(new HasCellImpl("last name", new Delegate<Starter.Person>() {
@Override
public void execute(Person object) {
Window.alert(object.getLastName());
}
}));
CompositeCell<Person> cell = new CompositeCell<Person>(cells);
table.addColumn(new TextColumn<Starter.Person>() {
@Override
public String getValue(Person object) {
return object.getFirstName() + " " + object.getLastName();
}
}, "name");
table.addColumn(new Column<Person, Person>(cell) {
@Override
public Person getValue(Person object) {
return object;
}
}, "composite");
LinkedList<Person> data = new LinkedList<Starter.Person>();
data.add(new Person("Amy", "Reed"));
data.add(new Person("Tim", "Gardner"));
table.setRowData(data);
RootPanel.get().add(table);
}
private class HasCellImpl implements HasCell<Person, Person> {
private ActionCell<Person> fCell;
public HasCellImpl(String text, Delegate<Person> delegate) {
fCell = new ActionCell<Person>(text, delegate);
}
@Override
public Cell<Person> getCell() {
return fCell;
}
@Override
public FieldUpdater<Person, Person> getFieldUpdater() {
return null;
}
@Override
public Person getValue(Person object) {
return object;
}
}
private class Person {
private String fFirstName;
private String fLastName;
public Person(String first, String last) {
fFirstName = first;
fLastName = last;
}
public String getFirstName() {
return fFirstName;
}
public String getLastName() {
return fLastName;
}
}
模块加载()上的公共void{
CellTable=新的CellTable();
列表单元格=新建LinkedList();
添加(新的HasCellImpl(“名字”,新的委托)(){
@凌驾
公共void执行(Person对象){
alert(object.getFirstName());
}
}));
添加(新的HasCellImpl(“姓氏”,新的委托(){
@凌驾
公共void执行(Person对象){
alert(object.getLastName());
}
}));
复合细胞=新的复合细胞(细胞);
table.addColumn(新的TextColumn(){
@凌驾
公共字符串getValue(Person对象){
返回object.getFirstName()+“”+object.getLastName();
}
}“姓名”);
表.addColumn(新列(单元格){
@凌驾
公共人物getValue(人物对象){
返回对象;
}
}“复合”);
LinkedList数据=新建LinkedList();
数据。添加(新人员(“艾米”、“里德”);
数据。添加(新人员(“蒂姆”、“加德纳”);
表.setRowData(数据);
RootPanel.get().add(表);
}
私有类HasCellImpl实现HasCell{
私人行动细胞;
public HasCellImpl(字符串文本,委托){
fCell=新的ActionCell(文本,委托);
}
@凌驾
公共单元getCell(){
返回fCell;
}
@凌驾
公共字段更新程序getFieldUpdater(){
返回null;
}
@凌驾
公共人物getValue(人物对象){
返回对象;
}
}
私人阶级人士{
私有字符串fFirstName;
私有字符串fLastName;
公众人物(先串,后串){
fFirstName=第一;
fLastName=最后一个;
}
公共字符串getFirstName(){
返回fFirstName;
}
公共字符串getLastName(){
返回fLastName;
}
}