如何解决如何将ClickableTextCells列添加到cellTable
|| 大家好 我需要一个简单的示例,向我展示如何将ClickableTextCells列添加到cellTable 谢谢。解决方法
Column<YerValueObject,String> newCol = new Column<YerValueObject,String>(new ClickableTextCell()) {
@Override
public String getValue(YearValueObject obj) {
return obj.someMethod();
}
};
newCol.setFieldUpdater(new FieldUpdater<YerValueObject,String>() {
@Override
public void update(int index,YerValueObject obj,String value) {
//do whatever you need to here...
}
});
table.addColumn(newCol,\"ClickColumn\");
,如果您需要将clickableTextCell添加到cellTable,这是解决方案
// ClickableTextCell
ClickableTextCell anchorcolumn = new ClickableTextCell();
table.addColumn(addColumn(anchorcolumn,new GetValue<String>() {
public String getValue(Contact contact) {
return \"Click \" + contact.anchor;
}
},new FieldUpdater<Contact,String>() {
public void update(int index,Contact object,String value) {
Window.alert(\"You clicked \" + object.name);
}
}),\"Anchor\");
private <C> Column<Contact,C> addColumn(Cell<C> cell,final GetValue<C> getter,FieldUpdater<Contact,C> fieldUpdater) {
Column<Contact,C> column = new Column<Contact,C>(cell) {
@Override
public C getValue(Contact object) {
return getter.getValue(object);
}
};
column.setFieldUpdater(fieldUpdater);
return column;
}
private static interface GetValue<C> {
C getValue(Contact contact);
}
// A simple data type that represents a contact.
private static class Contact {
private final String address;
private final String name;
private final String anchor;
public Contact(String name,String address,String anchor) {
this.name = name;
this.address = address;
this.anchor = anchor;
}
}
,创建一个覆盖onBrowserEvent
方法的Column
。
像这样:
new Column<T,String>(new TextCell()) {
@Override
public String getValue(T object) {
return object.getProperty();
}
@Override
public void onBrowserEvent(Context context,Element elem,T object,NativeEvent event) {
// TODO You can check which event you want to catch
Window.open(\"http://www.stackoverflow.com\",\"StackOverFlow\",\"\");
}
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。