Связывание сеток и общих компонентов напрямую невозможно в текущей версии GXT, в любом случае это альтернативное решение, предлагаемое в качестве обходного пути:
Я только что использовал примеры Связывание сетки и Шаблоны , чтобы удовлетворить ваши требования. Вот модифицированный код
@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);
setStyleAttribute("margin", "10px");
ContentPanel cp = new ContentPanel();
cp.setHeading("Form Bindings");
cp.setFrame(true);
cp.setSize(800, 400);
cp.setLayout(new RowLayout(Orientation.HORIZONTAL));
final LayoutContainer panel = new LayoutContainer(new FlowLayout());
Grid<Stock> grid = createGrid();
grid.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
final Template template = new Template(getTemplate());
grid.getSelectionModel().addListener(Events.SelectionChange, new Listener<SelectionChangedEvent<Stock>>() {
public void handleEvent(SelectionChangedEvent<Stock> be) {
if (be.getSelection().size() > 0) {
template.overwrite(panel.getElement(), Util.getJsObject(be.getSelectedItem()));
} else {
panel.removeAll();
}
}
});
cp.add(grid, new RowData(.6, 1));
cp.add(panel, new RowData(.4, 1));
add(cp);
}
private native String getTemplate() /*-{
var html = [ '<p>Name: {name}</p>', '<p>Symbol: {symbol}</p>',
'<p>Last: {last}</p>', '<p>Last Updated: {date}</p>', ];
return html.join("");
}-*/;
Добавьте эти модификации в пример Связывание сетки . Надеюсь, это поможет.
Спасибо,
Ганеш