Hi all,
i found a little problem using Datatable component.
I use Wicket for a french software development.
Ib the datatable, the text "Showing 1 to 10 of N" in the navigation toolbar
can not be internationalized.
The Datatable component is associated to a NavigatorToolBar component, wich
is associated to a NavigatorLabel.
I've found this code in the NavigatorLabel.java file : "Showing ${from} to
${to} of ${of}"
To make the datatable internationalizable, i must create new Components
inherited from DataTable, NavigatorToolBar, NavigatorLabel, etc...
and change the following text : "Showing ${from} to ${to} of ${of}"
This could be fixed in NavigatorLabel class, with a call to a .properties
file like :
protected WebComponent newNavigatorLabel(String navigatorId, final DataTable
table)
{
IModel model = new NavigatorLabelModel(table);
return new Label(
navigatorId,
new StringResourceModel(
"navigatorLabel",
this,
model,
new Object[] {
new PropertyModel(model, "from"),
new PropertyModel(model, "of"),
new PropertyModel(model, "to")
}
)
);
}
with in .properties file :
navigatorLabel = Lignes {0} to {2} of{1}
and this classes :
public class NavigatorLabelModel extends LoadableDetachableModel {
private static final long serialVersionUID = 1L;
private DataTable dataTable;
public NavigatorLabelModel(DataTable dataTable) {
super();
this.dataTable = dataTable;
}
protected Object load() {
int of = 0;
int from = 0;
int to = 0;
of = this.dataTable.getRowCount();
from = this.dataTable.getCurrentPage() *
this.dataTable.getRowsPerPage();
to = Math.min(of, from + this.dataTable.getRowsPerPage());
from++;
if (of == 0) {
from = 0;
to = 0;
}
return new NavigationLabelBean(from, of, to);
}
}
and
public class NavigationLabelBean {
private int from;
private int of;
private int to;
public NavigationLabelBean(int from, int of, int to) {
this.from = from;
this.of = of;
this.to = to;
}
//getters and setters ...
}
I've tried and it works fine.
Do you think it could be added in sources?
If you think it's a good idea i can try to get a acccount on SVN to add
this, or maybe someone here wants to do it.
Thanks,
--
Loïc Descotte
9 rue Sébastien Gryphe
69007 Lyon
06 23 23 36 80