Мне нужно создать динамический список ссылок привязки к строкам в таблице данных.Wicket: создание динамических привязных ссылок на строки в таблице данных
Я начал с (отсортированный) таблицы данных в соответствии данном примере
A Simple Sortable DataTable Example
«FooPanel» должен содержать одну ссылку для каждой строки в таблице данных.
код до сих пор:
public class FooPanel extends Panel {
private static final long serialVersionUID = 1L;
private Link<String> createLink(String linkName, final String name)
{
final Link<String> l = new Link<String>(linkName) {
private static final long serialVersionUID = 1L;
@Override
public void onClick() {
}
};
l.setBody(Model.of(name));
return l;
}
public FooPanel(final String id, IModel<List<String>> model) {
super(id);
final List<String> linkList = model.getObject();
final Label myLabel = new Label("myLabel", "this is my label");
myLabel.setOutputMarkupId(true);
this.add(myLabel);
final RepeatingView view = new RepeatingView("fooPanelItems");
for (final String linkLabel:linkList)
{
final Link<String> link = createLink(view.newChildId(), String.format("[ %s ]", linkLabel));
link.setAnchor(myLabel);
link.setOutputMarkupId(true);
view.add(link);
}
this.add(view);
}
}
private class LazyFooPanel extends AjaxLazyLoadPanel
{
private static final long serialVersionUID = 1L;
final IModel<List<String>> m_model;
private LazyFooPanel(final String id, IModel<List<String>> model)
{
super(id, model);
m_model = model;
}
@Override
public Component getLazyLoadComponent(final String markupId)
{
return new FooPanel(markupId, m_model);
}
@Override
protected void onComponentLoaded(final Component component, final AjaxRequestTarget target)
{
target.add(component);
}
}
У меня возникают проблемы, связывающие мои динамические ссылки с элементами в таблице данных - вы можете помочь?
Какие проблемы вы испытываете? –
Я не знаю, как определить компонент (строку таблицы), чтобы установить привязку «в» вместо «link.setAnchor (myLabel)» – Adrian