Example code is available on github.com/vaadin-on-grails3/gorm-vaadin-table .
In this tutorial we will show how to display GORM objects in Vaadin Grid.
Copy package com . vaadinongrails
class Item {
String name
String other
static constraints = {
}
}
Copy class BootStrap {
def init = { servletContext ->
new Item(name : "Hi 1" , other : "There" ) . save (failOnError : true )
new Item(name : "Hi 2" , other : "There" ) . save (failOnError : true )
new Item(name : "Hi 3" , other : "There" ) . save (failOnError : true )
new Item(name : "Hi 4" , other : "There" ) . save (failOnError : true )
}
def destroy = {
}
}
Copy package app
import com . vaadin . data . util . BeanItemContainer
import com . vaadin . grails . ui . VaadinUI
import com . vaadin . server . VaadinRequest
import com . vaadin . ui . Grid
import com . vaadin . ui . UI
import com . vaadin . ui . VerticalLayout
import com . vaadinongrails . Item
@VaadinUI(path = '/')
class MyUI extends UI {
@Override
protected void init(VaadinRequest vaadinRequest) {
VerticalLayout layout = new VerticalLayout()
layout . setMargin(true)
Grid grid = new Grid()
grid . setSelectionMode(Grid . SelectionMode . SINGLE)
BeanItemContainer<Item> container = new BeanItemContainer<>(Item . class)
List<Item> all = Item . findAll()
container . addAll(all)
grid . setContainerDataSource(container)
grid . setColumnOrder("id", "name", "other")
grid . removeColumn("attached")
grid . removeColumn("metaClass")
grid . removeColumn("properties")
grid . removeColumn("version")
grid . removeColumn("dirty")
grid . removeColumn("dirtyPropertyNames")
grid . removeColumn("errors")
layout . addComponent(grid)
setContent(layout)
}
}
Run application and see the table with GORM objects from database.