Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.so9;
- import java.sql.SQLException;
- import javax.servlet.annotation.WebServlet;
- import com.vaadin.annotations.Theme;
- import com.vaadin.annotations.VaadinServletConfiguration;
- import com.vaadin.data.Container;
- import com.vaadin.data.util.sqlcontainer.SQLContainer;
- import com.vaadin.data.util.sqlcontainer.connection.JDBCConnectionPool;
- import com.vaadin.data.util.sqlcontainer.connection.SimpleJDBCConnectionPool;
- import com.vaadin.data.util.sqlcontainer.query.FreeformQuery;
- import com.vaadin.data.util.sqlcontainer.query.QueryDelegate;
- import com.vaadin.server.VaadinRequest;
- import com.vaadin.server.VaadinServlet;
- import com.vaadin.ui.Component;
- import com.vaadin.ui.Table;
- import com.vaadin.ui.TableFieldFactory;
- import com.vaadin.ui.TextField;
- import com.vaadin.ui.UI;
- import com.vaadin.ui.VerticalLayout;
- @SuppressWarnings("serial")
- @Theme("so9")
- public class So9UI extends UI {
- private int counter = 0;
- @WebServlet(value = "/*", asyncSupported = true)
- @VaadinServletConfiguration(productionMode = false, ui = So9UI.class)
- public static class Servlet extends VaadinServlet {
- }
- @Override
- protected void init(VaadinRequest request) {
- final VerticalLayout layout = new VerticalLayout();
- setContent(layout);
- Table tb1 = new Table();
- tb1.setEditable(true);
- tb1.setTableFieldFactory(new TableFieldFactory() {
- @Override
- public com.vaadin.ui.Field<?> createField(Container container, Object itemId, Object propertyId, Component uiContext)
- {
- TextField field = new TextField((String) propertyId);
- counter++;
- // User can only edit the "Numeric field"
- if ("Numeric field".equals(propertyId)) {
- field.setData(itemId);
- // Focus if it is the first editable value
- if ((Integer) itemId == 0) {
- field.focus();
- }
- }
- else {
- field.setReadOnly(true);
- }
- return field;
- }
- });
- try
- {
- JDBCConnectionPool connectionPool = new SimpleJDBCConnectionPool("com.mysql.jdbc.Driver", "jdbc:mysql://localhost:3306/test", "root", "");
- QueryDelegate qd = new FreeformQuery("select * from testTable", connectionPool, "id");
- final SQLContainer c = new SQLContainer(qd);
- tb1.setContainerDataSource(c);
- }
- catch (SQLException e)
- {
- e.printStackTrace();
- }
- layout.addComponent(tb1);
- System.out.println(counter);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement