final List<IColumn<EingangsrechnungDO, String>> columns = new ArrayList<IColumn<EingangsrechnungDO, String>>();
final CellItemListener<EingangsrechnungDO> cellItemListener = new CellItemListener<EingangsrechnungDO>() {
public void populateItem(final Item<ICellPopulator<EingangsrechnungDO>> item, final String componentId,
final IModel<EingangsrechnungDO> rowModel)
{
final EingangsrechnungDO eingangsrechnung = rowModel.getObject();
appendCssClasses(item, eingangsrechnung.getId(), eingangsrechnung.isDeleted());
if (eingangsrechnung.isDeleted() == true) {
// Do nothing further
} else if (eingangsrechnung.isUeberfaellig() == true) {
appendCssClasses(item, RowCssClass.IMPORTANT_ROW);
} else if (eingangsrechnung.isBezahlt() == false) {
appendCssClasses(item, RowCssClass.BLUE);
}
}
};
columns.add(new CellItemListenerPropertyColumn<EingangsrechnungDO>(new Model<String>(getString("fibu.common.creditor")), getSortable(
"kreditor", sortable), "kreditor", cellItemListener) {
@SuppressWarnings({ "unchecked", "rawtypes"})
@Override
public void populateItem(final Item item, final String componentId, final IModel rowModel)
{
final EingangsrechnungDO eingangsrechnung = (EingangsrechnungDO) rowModel.getObject();
String kreditor = StringEscapeUtils.escapeHtml(eingangsrechnung.getKreditor());
if (form.getSearchFilter().isShowKostZuweisungStatus() == true) {
final BigDecimal fehlBetrag = eingangsrechnung.getKostZuweisungFehlbetrag();
if (NumberHelper.isNotZero(fehlBetrag) == true) {
kreditor += " *** " + CurrencyFormatter.format(fehlBetrag) + " ***";
}
}
final Label kreditorLabel = new Label(ListSelectActionPanel.LABEL_ID, kreditor);
kreditorLabel.setEscapeModelStrings(false);
item.add(new ListSelectActionPanel(componentId, rowModel, EingangsrechnungEditPage.class, eingangsrechnung.getId(), returnToPage,
kreditorLabel));
cellItemListener.populateItem(item, componentId, rowModel);
addRowClick(item);
}
});
columns.add(new CellItemListenerPropertyColumn<EingangsrechnungDO>(new Model<String>(getString("fibu.konto")), null, "konto",
cellItemListener) {
@SuppressWarnings({ "unchecked", "rawtypes"})
@Override
public void populateItem(final Item item, final String componentId, final IModel rowModel)
{
final EingangsrechnungDO rechnung = (EingangsrechnungDO) rowModel.getObject();
final KontoDO konto = kontoCache.getKonto(rechnung.getKontoId());
item.add(new Label(componentId, konto != null ? konto.formatKonto() : ""));
cellItemListener.populateItem(item, componentId, rowModel);
}
});
columns.add(new CellItemListenerPropertyColumn<EingangsrechnungDO>(getString("fibu.common.reference"),