ZK provides many ways to handle your logic client side.
At first you should read the communication part of the client-side zk manual.
In addition, this awnser should be helpful.
You should know, that model="@load(vm.o)"
calls Grid.setModel(...)
and saves a reference so that data will not be deleted by javas gc.
So I think the only way to solve this, by still using MVVM even if it
breaks the pettern as far as I understand MVVM, would be to call
onCreate="@command('createRows',grid=self)"
and add a method like
@Command("createRows")
public void createRows(@BindingParam("grid") Grid grid){
//add rows manually here
}
But I have to say that for your task, I would prefer to use ZK MVC,
cos of better readability/maintainability and more control cos of java.