01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package org.apache.wicket.examples.repeater;
18:
19: import java.util.ArrayList;
20: import java.util.List;
21:
22: import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable;
23: import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
24: import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
25: import org.apache.wicket.markup.repeater.Item;
26: import org.apache.wicket.model.IModel;
27: import org.apache.wicket.model.Model;
28:
29: /**
30: * @author Martijn Dashorst
31: */
32: public class AjaxDataTablePage extends BasePage {
33: /**
34: * Constructor.
35: */
36: public AjaxDataTablePage() {
37: List columns = new ArrayList();
38:
39: columns.add(new AbstractColumn(new Model("Actions")) {
40: public void populateItem(Item cellItem, String componentId,
41: IModel model) {
42: cellItem.add(new ActionPanel(componentId, model));
43: }
44: });
45:
46: columns.add(new PropertyColumn(new Model("ID"), "id"));
47: columns.add(new PropertyColumn(new Model("First Name"),
48: "firstName", "firstName"));
49: columns.add(new PropertyColumn(new Model("Last Name"),
50: "lastName", "lastName"));
51: columns.add(new PropertyColumn(new Model("Home Phone"),
52: "homePhone"));
53: columns.add(new PropertyColumn(new Model("Cell Phone"),
54: "cellPhone"));
55:
56: add(new AjaxFallbackDefaultDataTable("table", columns,
57: new SortableContactDataProvider(), 8));
58: }
59: }
|