GRID. Selected row

Hey.
how can I select the first row when displaying GRID for the first time to the user?

If you have a DataProvider with ArrayList:

if(!dataArray.isEmpty()){
	grid.select(dataArray.get(0));
}

or you can…

Object obj = grid.getDataProvider().fetch(new Query<>()).findFirst().orElse(null);
			if(obj != null)
				grid.select(obj);

I use CallbackDataProvider. when I initialize the Grid, there are no rows inside the Grid yet. The Grid itself calls the CallbackDataProvider.fetchCallback. Maybe I need to use an event to make a grid.select(row0) ?

Something along these lines should work

    private boolean dataLoaded = false;

    public void someMethod() {
        grid.setDataProvider(DataProvider.fromCallbacks(
                query -> {
                    List<Person> data = getData(query);
                    if (!dataLoaded && data.size() > 0) {
                        grid.select(data.get(0));
                        dataLoaded = true;
                    }
                    return data.stream();
                },
                this::getSize
        ));
    }

it works! THANK you!