-
Notifications
You must be signed in to change notification settings - Fork 1
DB SQL DataTable
Socheat KHAUV edited this page Oct 24, 2017
·
2 revisions
HTML Code
<form wicket:id="dataFilterForm">
<table wicket:id="dataTable" />
</form>
Java Code
protected FilterForm<Map<String, String>> {logic}FilterForm;
protected JdbcProvider {logic}Provider;
protected DataTable<Map<String, Object>, String> {logic}Table;
protected List<IColumn<Map<String, Object>, String>> {logic}Column;
protected void init{Logic}Table() {
this.{logic}Provider = new JdbcProvider("table");
this.{logic}Provider.boardField("{column}", "{column}", {Type}.class);
this.{logic}Column = new ArrayList<>();
this.{logic}Column.add(new TextFilterColumn(this.{logic}Provider, ItemClass.{Type}, Model.of("{column}"), "{column}", "{column}", this::{logic}Column));
this.{logic}Column.add(new ActionFilterColumn<>(Model.of("Action"), this::{logic}Action, this::{logic}Click));
this.{logic}FilterForm = new FilterForm<>("{logic}FilterForm", this.{logic}Provider);
add(this.{logic}FilterForm);
this.{logic}Table = new DefaultDataTable<>("{logic}Table", this.{logic}Column, this.{logic}Provider, 20);
this.{logic}Table.addTopToolbar(new FilterToolbar(this.{logic}Table, this.{logic}FilterForm));
this.{logic}FilterForm.add(this.{logic}Table);
}
protected void {logic}Click(String column, Map<String, Object> model, AjaxRequestTarget target) {
}
protected List<ActionItem> {logic}Action(String column, Map<String, Object> model) {
List<ActionItem> actions = Lists.newArrayList();
actions.add(new ActionItem("delete", Model.of("Delete"), ItemCss.DANGER));
return actions;
}
protected ItemPanel {logic}Column(String column, IModel<String> display, Map<String, Object> model) {
// {Type} value = {Type} model.get(column);
// return new TextCell(value);
throw new WicketRuntimeException("Unknown " + column);
}