在运行时更新网格中的 GWT(GXT) Buttoncell
updating GWT(GXT) Buttoncell in a grid at runtime
我正在 GXT Grid 中创建一个纽扣电池,
并像这样在我的网格列中添加单元格
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());
}
Sencha GXT 网格使用 ListStore。要在网格内显示新数据,需要更新商店。这可以通过调用 store.addAll(theNewDataList)
来完成。请记住在添加新值之前清除存储。
更新商店将强制重新绘制网格。在重绘期间,将调用 ButtonCell
的 render
方法。要更改按钮的布局,请在 render
方法中实现您想要执行的操作。
这是来自 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,它将呈现红色字符串,否则呈现绿色字符串。
希望对您有所帮助。
我正在 GXT Grid 中创建一个纽扣电池, 并像这样在我的网格列中添加单元格
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());
}
Sencha GXT 网格使用 ListStore。要在网格内显示新数据,需要更新商店。这可以通过调用 store.addAll(theNewDataList)
来完成。请记住在添加新值之前清除存储。
更新商店将强制重新绘制网格。在重绘期间,将调用 ButtonCell
的 render
方法。要更改按钮的布局,请在 render
方法中实现您想要执行的操作。
这是来自 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,它将呈现红色字符串,否则呈现绿色字符串。
希望对您有所帮助。