> Markdown version of [Using Grid With Inline Data](https://vaadin.com/docs/v7/framework/articles/UsingGridWithInlineData). Section index: [llms.txt](https://vaadin.com/docs/v7/framework/llms.txt)

# <a id="using-grid-with-inline-data"></a>Using Grid with inline data

Instead of using a Vaadin Container as explained in [Using Grid With a Container](<xref:UsingGridWithAContainer#&#xA;using-grid-with-a-container>), you can also directly add simple inline data to Grid without directly using a Container.

After creating a Grid instance, the first thing you need to do is to define the columns that should be shown. You an also define the types of the data in each column - Grid will expect String data in each column unless you do this.

```java
grid.addColumn("Name").setSortable(true);
grid.addColumn("Score", Integer.class);
```

The columns will be shown in the order they are added. The `addColumn` method does also return the created `Column` instance, so you can go ahead and configure the column right away if you want to.

When you have added all columns, you can add data using the `addRow(Object…​)` method.

```java
grid.addRow("Alice", 15);
grid.addRow("Bob", -7);
grid.addRow("Carol", 8);
grid.addRow("Dan", 0);
grid.addRow("Eve", 20);
```

The order of the arguments to `addRow` should match the order in which the columns are shown. It is recommended to only use `addRow` when initializing Grid, since later on e.g. `setColumnOrder(Object…​)` might have been used to change the order, causing unintended behavior.

Grid will still manage a `Container` instance for you behind the scenes, so you can still use Grid API that is based on `Property` or `Item` from the `Container` API. One particularly useful feature is that each added row will get an `Integer` item id, counting up starting from 1. This means that you can e.g. select the second row in this way:

```java
grid.select(2);
```

#### <a id="full-example"></a>Full example

Putting all these pieces together, we end up with this class.

```java
import com.vaadin.annotations.Theme;
import com.vaadin.server.VaadinRequest;
import com.vaadin.shared.ui.grid.HeightMode;
import com.vaadin.ui.Grid;
import com.vaadin.ui.UI;

@Theme("valo")
public class ShowingInlineDataInGrid extends UI {

  @Override
  protected void init(VaadinRequest request) {
    final Grid grid = new Grid();

    grid.addColumn("Name").setSortable(true);
    grid.addColumn("Score", Integer.class);

    grid.addRow("Alice", 15);
    grid.addRow("Bob", -7);
    grid.addRow("Carol", 8);
    grid.addRow("Dan", 0);
    grid.addRow("Eve", 20);

    grid.select(2);

    grid.setHeightByRows(grid.getContainerDataSource().size());
    grid.setHeightMode(HeightMode.ROW);

    setContent(grid);
  }
}
```
