aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/tests/magi/TableExample.java
blob: 989fc863ccae9cd03638d9e7b972871cc75c156b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package com.itmill.toolkit.tests.magi;

import com.itmill.toolkit.ui.CustomComponent;
import com.itmill.toolkit.ui.OrderedLayout;
import com.itmill.toolkit.ui.Table;

public class TableExample extends CustomComponent {
    /* Create the table with a caption. */
    Table table = new Table("This is a Table");

    /* A layout needed for the example. */
    OrderedLayout layout = new OrderedLayout(OrderedLayout.ORIENTATION_VERTICAL);

    TableExample() {
        setCompositionRoot(layout);
        layout.addComponent(table);

        /* Define the names, data types, and default values of columns. */
        table.addContainerProperty("First Name", String.class,
                "(no first name)");
        table.addContainerProperty("Last Name", String.class, "(no last name)");
        table.addContainerProperty("Year", Integer.class, null);

        /* We use these entries to generate random items in a table. */
        final String[] firstnames = new String[] { "Donald", "Patty", "Sally",
                "Douglas" };
        final String[] lastnames = new String[] { "Smith", "Jones", "Adams",
                "Knuth" };

        /* Add some items in the table and assign them an Item ID (IID). */
        for (int i = 0; i < 500; i++) {
            /* Add a randomly generated item in the Table. */
            table
                    .addItem(
                            new Object[] {
                                    firstnames[(int) (Math.random() * (firstnames.length - 0.01))],
                                    lastnames[(int) (Math.random() * (lastnames.length - 0.01))],
                                    new Integer(
                                            (int) (1900 + Math.random() * 100)) },
                            new Integer(i));
        }

        /* Set the number of items visible in the table. */
        table.setPageLength(10);

        table.setStyle("twincol");
        table.setColumnReorderingAllowed(true);
        table.setColumnCollapsingAllowed(true);
    }
}