我怎样才能拥有可以充当 GXT 3 中的容器的单元格网格,以便它们可以将任何对象从其他容器保存到任何小部件。
我正在开发具有行扩展器网格的小型应用程序。GXT 演示有很好的例子。
从类层次结构中很明显,Grid 单元格是允许使用render()
方法的 Cell 接口,因此我可以添加任何可以在其中显示的 html 代码。
但是我想创建一个单元格小部件,它可以具有add()
允许将其他小部件(例如ContentPanel )添加到任何其他小部件的方法
有什么建议吗?
我怎样才能拥有可以充当 GXT 3 中的容器的单元格网格,以便它们可以将任何对象从其他容器保存到任何小部件。
我正在开发具有行扩展器网格的小型应用程序。GXT 演示有很好的例子。
从类层次结构中很明显,Grid 单元格是允许使用render()
方法的 Cell 接口,因此我可以添加任何可以在其中显示的 html 代码。
但是我想创建一个单元格小部件,它可以具有add()
允许将其他小部件(例如ContentPanel )添加到任何其他小部件的方法
有什么建议吗?
这是我写的代码。不是一个完美的,但工作。
public class MyRowExpander extends
RowExpander<GridModel> {
public MyRowExpander (
IdentityValueProvider<GridModel> valueProvider,
AbstractCell<GridModel> contentCell) {
super(valueProvider, contentCell);
}
@Override
protected boolean beforeExpand(GridModel model, Element body,
XElement row, int rowIndex) {
super.beforeExpand(model, body, row, rowIndex);
BeforeExpandItemEvent<GridModel> e = new BeforeExpandItemEvent<GridModel>(
model);
if (!e.isCancelled()) {
if (body.hasChildNodes())
body.removeChild(body.getChild(0));
body.setInnerText("");
Widget customWidget = getWidget(model);
body.appendChild(customWidget.getElement());
ComponentHelper.doAttach(customWidget);
return true;
}
return false;
}