Сетка Sencha GXT использует ListStore. Чтобы показать новые данные в сетке, магазин должен быть обновлен. Это можно сделать, позвонив по номеру store.addAll(theNewDataList)
. Не забудьте очистить магазин перед добавлением новых значений.
Обновление магазина заставит сетку перерисоваться. Во время перерисовки будет вызван render
-метод ButtonCell
. Чтобы изменить расположение кнопки, внедрите в метод render
то, что вы хотите сделать.
Это пример из GXT Explorer Sencha (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, будет отображаться красная строка, в противном случае - зеленая.
Надеюсь, это поможет.