Rodrigo, Omar gracias por tomarse tiempo.
Les comento basicamente que estoy tratando se seguir el modelo expuesto aqui: https://vaadin.com/wiki/-/wiki/Main/Creating+a+master-details+view+for+editing+persons
Probé usando un Objeto cargado en la tabla que tiene propiedades que a su vez no son objetos anidados (String, int, etc) todo funciona perfecto usando un FieldGroup. El bindeo se hace correctamente como esta en el link.
Ahora, si el objeto cargado en la tabla tiene a su vez tiene un objeto anidado (como es mi caso, Paciente tiene una Empresa) yo quiero eventualmente editar para el Paciente seleccionado su Empresa.
En mi formulario de edicion tengo TextFields para datos del paciente (Nombre, Apellido, etc) y para la empresa tengo el combo. Como les dije, los datos que son tipo String, int, etc no tengo problemas en bindearlos con FieldGroup.
Ahora, extrictamente con el combo, lo que hago es que cuando creo el formulario lo cargo previamente con todas las empresas que tengo en mi BD( no hay problemas con eso).
El problema que tengo es como bindear el objeto anidado Empresa que es una propiedad del Paciente (que es el que selecicona de la tabla)con el combo donde tengo cargadas todas las empresas para q se setee la que efectiavamente tiene el paciente.
Como dice Rodrigo, estoy intentando con un BeanFieldGroup. No se si ésta parte está bien ya que lo instancié de la siguiente manera:
private BeanFieldGroup beanFieldGroup = new BeanFieldGroup(Empresa.class);
lo bindeo asi:
beanFieldGroup.bind(this.getCmbEmpresa(), “empresa”);
y luego en el addValueChangeListener de la tabla lo que hago es esto:
formularioPacienteModificar.getFieldGroup().setItemDataSource(item); ← para los textefields. Se cargan bien
y para el combo
formularioPacienteModificar.getBeanFieldGroup().setItemDataSource(item); ← para el combo con las empresas
// tambien probe con esto
formularioPacienteModificar.getBeanFieldGroup().setItemDataSource(item.getBean().getEmpresa());
donde item es, como dice Omar, el datasource.
Si hago un sysout.println.out del item se ve que esta el objeto Empresa instanciado o sea es parte del item.
Aun asi no se setea el valor en Combo.
No se bien donde no estoy comprendiendo bien el funcionamiento.
Desde ya gracias y espero haber sido claro muchachos!
Saludos