在GWT2.5中,如何基于AbstractCell填充单元格的多个部分
我有一个基于AbstractCell的ContactCell类。 它有两个标签和一个图像(在GWT2.5的UiBinder中定义) 如何使用Column.addColumn()将此自定义单元格添加到CellTable 如果是这样,当getValue()只返回简单值(如字符串)时,如何使用getValue()方法填充ContactCell的字段在GWT2.5中,如何基于AbstractCell填充单元格的多个部分,gwt,Gwt,我有一个基于AbstractCell的ContactCell类。 它有两个标签和一个图像(在GWT2.5的UiBinder中定义) 如何使用Column.addColumn()将此自定义单元格添加到CellTable 如果是这样,当getValue()只返回简单值(如字符串)时,如何使用getValue()方法填充ContactCell的字段 列=新列( 新建ContactCell()){ @凌驾 公共字符串getValue(联系人对象){ 返回对象…只能返回一个值。如何填充2个标签和图像? }
列=新列(
新建ContactCell()){
@凌驾
公共字符串getValue(联系人对象){
返回对象…只能返回一个值。如何填充2个标签和图像?
}
};
您可以通过覆盖单元格的onrender方法来更改渲染字符串,如下所示
假设可以从getValue mathod返回的值计算2个标签和一个图像
ContactCell contactCell = new ContactCell()
{
@Override
public void render( com.google.gwt.cell.client.Cell.Context context, SafeHtml value, SafeHtmlBuilder sb )
{
// do value check and compute label1 and label2 and calso compute the image path.
sb.appendHtmlConstant( "<label>LABEL1</label>" +"<label>LABEL2</label>"+"<image></image>" )
}
});
Column<Contact, String> column = new Column<Contact, String>( contactCell )
{
@Override
public String getValue(Contact object)
{
return object... CAN ONLY RETURN ONE VALUE. HOW TO POPULATE 2 LABELS & IMAGE?
}
};
ContactCell ContactCell=new ContactCell()
{
@凌驾
公共void呈现(com.google.gwt.cell.client.cell.Context上下文、安全HTML值、安全HTMLBuilder sb)
{
//执行值检查并计算label1和label2,然后计算图像路径。
sb.附加HtmlConstant(“LABEL1”+“LABEL2”+”)
}
});
列=新列(contactCell)
{
@凌驾
公共字符串getValue(联系人对象)
{
返回对象…只能返回一个值。如何填充2个标签和图像?
}
};
您可以使用标识列
而不是普通的列
(将通过整个联系人对象),或者使用普通的列
,如下所示:
Column<Contact, String[]> column = new Column<Contact, String[]>(
new ContactCell()) {
@Override
public String[] getValue(Contact object) {
String[] retvalue = new String[2];
retvalue[0] = "SOMETHING";
retvalue[1] = "SOME OTHER THING";
return retvalue;
}
};
列=新列(
新建ContactCell()){
@凌驾
公共字符串[]getValue(联系人对象){
字符串[]retvalue=新字符串[2];
retvalue[0]=“某物”;
retvalue[1]=“其他东西”;
返回值;
}
};
如果基于AbstractCell
的单元格是使用UiBinder
定义的,则当前无法将此类单元格添加到单元格表中
Column<Contact, String[]> column = new Column<Contact, String[]>(
new ContactCell()) {
@Override
public String[] getValue(Contact object) {
String[] retvalue = new String[2];
retvalue[0] = "SOMETHING";
retvalue[1] = "SOME OTHER THING";
return retvalue;
}
};