final List<IColumn<BuchungssatzDO, String>> columns = new ArrayList<IColumn<BuchungssatzDO, String>>();
final CellItemListener<BuchungssatzDO> cellItemListener = new CellItemListener<BuchungssatzDO>() {
public void populateItem(final Item<ICellPopulator<BuchungssatzDO>> item, final String componentId,
final IModel<BuchungssatzDO> rowModel)
{
final BuchungssatzDO satz = rowModel.getObject();
appendCssClasses(item, satz.getId(), satz.isDeleted());
}
};
columns.add(new CellItemListenerPropertyColumn<BuchungssatzDO>(new Model<String>(getString("fibu.buchungssatz.satznr")),
"formattedSatzNummer", "formattedSatzNummer", cellItemListener) {
@SuppressWarnings({ "unchecked", "rawtypes"})
@Override
public void populateItem(final Item item, final String componentId, final IModel rowModel)
{
final BuchungssatzDO satz = (BuchungssatzDO) rowModel.getObject();
item.add(new ListSelectActionPanel(componentId, rowModel, AccountingRecordEditPage.class, satz.getId(),
AccountingRecordListPage.this, String.valueOf(satz.getFormattedSatzNummer())));
cellItemListener.populateItem(item, componentId, rowModel);
addRowClick(item);
}
});
columns.add(new CurrencyPropertyColumn<BuchungssatzDO>(getString("fibu.common.betrag"), "betrag", "betrag", cellItemListener));
columns
.add(new CellItemListenerPropertyColumn<BuchungssatzDO>(getString("fibu.buchungssatz.beleg"), "beleg", "beleg", cellItemListener));
columns.add(new CellItemListenerPropertyColumn<BuchungssatzDO>(new Model<String>(getString("fibu.kost1")), getSortable(
"kost1.shortDisplayName", sortable), "kost1.shortDisplayName", cellItemListener) {
@Override
public String getTooltip(final BuchungssatzDO satz)
{
final Kost1DO kost1 = satz != null ? satz.getKost1() : null;
if (kost1 == null) {
return null;
} else {
return KostFormatter.formatToolTip(kost1);
}
}
});
columns.add(new CellItemListenerPropertyColumn<BuchungssatzDO>(new Model<String>(getString("fibu.kost2")), getSortable(
"kost2.shortDisplayName", sortable), "kost2.shortDisplayName", cellItemListener) {
@Override
public String getTooltip(final BuchungssatzDO satz)
{
final Kost2DO kost2 = satz != null ? satz.getKost2() : null;
if (kost2 == null) {
return null;
} else {
return KostFormatter.formatToolTip(kost2);
}
}
});
columns.add(new CellItemListenerPropertyColumn<BuchungssatzDO>(new Model<String>(getString("fibu.buchungssatz.konto")), getSortable(
"konto.shortDisplayName", sortable), "konto.shortDisplayName", cellItemListener) {
@Override
public String getTooltip(final BuchungssatzDO satz)
{
final KontoDO konto = satz != null ? satz.getKonto() : null;
if (konto == null) {
return null;
} else {
return konto.getBezeichnung();
}
}
});
columns.add(new CellItemListenerPropertyColumn<BuchungssatzDO>(new Model<String>(getString("fibu.buchungssatz.gegenKonto")),
getSortable("gegenKonto.shortDisplayName", sortable), "gegenKonto.shortDisplayName", cellItemListener) {
@Override
public String getTooltip(final BuchungssatzDO satz)
{
final KontoDO gegenKonto = satz != null ? satz.getGegenKonto() : null;
if (gegenKonto == null) {
return null;
} else {
return gegenKonto.getBezeichnung();
}