在运行时更新网格中的GWT(GXT)Buttoncell

在运行时更新网格中的GWT(GXT)Buttoncell,gwt,gxt,Gwt,Gxt,我正在GXT网格中创建一个按钮单元, 在我的网格列中添加单元格,如下所示 myCol.setCell(getButtonCell()); 现在,所有单元格都被绘制出来,之后取决于服务器调用,我想用一个新值MyDTO更新我的单元格 因此,在我的RPC成功后,我想为我的所有单元格调用此渲染并更新这些值。 我怎样才能做到这一点 public ButtonCell<MyDTO> getButtonCell() { ButtonCell<MyDTO> cellTest

我正在GXT网格中创建一个按钮单元, 在我的网格列中添加单元格,如下所示

  myCol.setCell(getButtonCell());
现在,所有单元格都被绘制出来,之后取决于服务器调用,我想用一个新值MyDTO更新我的单元格

因此,在我的RPC成功后,我想为我的所有单元格调用此渲染并更新这些值。 我怎样才能做到这一点

public ButtonCell<MyDTO> getButtonCell()
{
    ButtonCell<MyDTO> cellTest = new ButtonCell<MyDTO>()
    {

        @Override
        public void render(Context context, MyDTO value, SafeHtmlBuilder 
      sb)
        {
           sb.appendHtmlConstant(value.getName());
        }
public ButtonCell getButtonCell()
{
ButtonCell cellTest=新ButtonCell()
{
@凌驾
公共void呈现(上下文上下文、MyDTO值、安全HtmlBuilder)
(某人)
{
sb.appendHtmlConstant(value.getName());
}

Sencha GXT网格使用列表存储。要在网格中显示新数据,需要更新存储。这可以通过调用
store.addAll(newdatalist)
完成。请记住,在添加新值之前清除存储

更新存储将强制网格重新绘制。在重新绘制期间,将调用
按钮cell
渲染
-方法。要更改按钮的布局,请在
渲染
-方法内部执行您要执行的操作

这是Sencha GXT Explorer()中的一个示例:

final NumberFormat NumberFormat=NumberFormat.getFormat(“0.00”);
changeColumn.setCell(新的PropertyDisplayCell(新的DoublePropertyEditor(numberFormat)){
@凌驾
public void render(com.google.gwt.cell.client.cell.Context上下文,双值,安全HTMLBuilder sb){
字符串样式=值<0?“红色”:“绿色”;
某人以““””号结尾;
超级渲染(上下文、值、sb);
某人以““””号结尾;
}
});
如果该值小于0,则将呈现红色字符串,否则为绿色字符串


希望这会有所帮助。

这个答案是正确的,此外,如果您还想更改它的样式,还可以设置StyleName,这将覆盖元素的旧css