当前位置: 首页 > 知识库问答 >
问题:

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

公孙弘深
2023-03-14

我在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());
        }

共有1个答案

韦叶秋
2023-03-14

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

更新存储将强制网格重绘。在重绘期间,将调用ButtonCell渲染-method。要更改按钮的布局,请在渲染-method中实现您要执行的操作。

这是Sencha GXT Explorer中的一个示例(https://examples.sencha.com/gxt/examples/#ExamplePlace:grid_aggregationgrid):

      final NumberFormat numberFormat = NumberFormat.getFormat("0.00");
      changeColumn.setCell(new PropertyDisplayCell<Double>(new DoublePropertyEditor(numberFormat)) {
        @Override
        public void render(com.google.gwt.cell.client.Cell.Context context, Double value, SafeHtmlBuilder sb) {
          String style = value < 0 ? "red" : "green";
          sb.appendHtmlConstant("<span style='color:" + style + "'>");
          super.render(context, value, sb);
          sb.appendHtmlConstant("</span>");
        }
      });

如果值小于0,它将呈现红色字符串,否则呈现绿色字符串。

希望这有帮助。

 类似资料:
  • 如何将网格组的总值与组的类型放在同一行中? 比如:[-]水果4.00美元 香蕉2美元 苹果2.00美元 所以当我的团队崩溃时,我有这个 []水果4.00美元

  • 问题内容: 我有一个页面,其中发生了许多耗时的功能。我想做的是在过程的每个步骤完成后,更新网页以使用户知道刚刚完成的步骤。本质上,用户提交查询,然后服务器查询数据库,处理数据,绘制图像并在页面上显示结果。我想让网页说出该功能执行的步骤。它会说“先查询”然后“正在处理” …等等。 伪: 我已经研究过使用Ajax来更新页面而不重新加载它,但是根据我的简单理解(对Ajax零经验),客户端将向服务器请求文

  • 我正在做一个3年前的GXT项目。我有一个可编辑的网格,我想在编辑同一行的一个单元格,比如单元格A,另一个单元格,比如单元格B时更新它的值。事实上,单元格B必须代表基于单元格A字段值的一些计算。这是我用来捕获单元格A字段更改的代码: 这是我计算和更新单元格B值所做的事情: 当我用新的bean更新存储时,网格的行编辑器中没有显示单元格B的值,为了显示单元格B的值,我必须调用网格。getView()。刷

  • 在我的项目中,我有一个包含多个值的ComboBox。当我的应用程序开始时,我执行以下操作: 其中是字符串列表。 同时,在应用程序中,可以更改此值。但是,由于我已经将此组合框添加到我的GridPane中,然后在该值更改(gui.columns)时添加到场景中,因此新值没有显示在组合框中。因为我已经添加了旧的gui.course。有没有办法用新的gui.course_P更新createTestButt

  • 当网格单元中的复选框更改其状态时,我需要更新存储:从存储中添加或删除值。如何处理此事件?顺便说一句,我用以下方式在网格中创建复选框: UPD2:现在我执行以下操作:按照最初的决定创建复选框: 而不是像这样处理网格中的事件:UPD3: 这是正确的方法。

  • 如何制作此网格: 它不起作用,我明白了: 我发现了这个:点击 但GXT 3。*没有FitLayout 有什么想法吗?