Hi There,
I'm trying to add a DataGridView to my page with custom columns, here is what
I've done:
DataGridView table = new DataGridView("rows", columns, new
ReportDataProvider(values));
with this html:
<table cellspacing="0" cellpadding="2" border="1">
<tr wicket:id="rows">
<td wicket:id="cells">
<span wicket:id="cell">cell content goes here</span>
</td>
</tr>
</table>
this is ReportDataProvider:
public class ReportDataProvider implements IDataProvider
{
Vector<SystemReportBean> data;
public ReportDataProvider(Vector<SystemReportBean> data)
{
this.data = new Vector<SystemReportBean>(data);
}
public IModel model(Object object)
{
return new ReportModel((SystemReportBean) object);
}
public int size()
{
return data.size();
}
public Iterator iterator(int first, int count)
{
List<SystemReportBean> vec = data.subList(first,first+count);
return vec.iterator();
}
}
and ReportModel is a plain object with getter setter methods
but I get this exception every time I try to view the page I get this exception:
WicketMessage: Error attaching this container for rendering: [MarkupContainer
[Component id = cells, page = com.laser.monitoring.gui.ReportResultPage, path =
41:rows:1:cells.AbstractDataGridView$2, isVisible = true, isVersioned = false]]
Root cause:
java.lang.NullPointerException
at
wicket.extensions.markup.html.repeater.util.ArrayIteratorAdapter.hasNext(ArrayIteratorAdapter.java:62)
at
wicket.extensions.markup.html.repeater.refreshing.DefaultItemReuseStrategy$1.hasNext(DefaultItemReuseStrategy.java:66)
at
wicket.extensions.markup.html.repeater.refreshing.RefreshingView.addItems(RefreshingView.java:189)
at
wicket.extensions.markup.html.repeater.refreshing.RefreshingView.internalOnAttach(RefreshingView.java:117)
....
I've done everything I thought that might help with no result
Send instant messages to your online friends http://uk.messenger.yahoo.com