Change datasource valueCollectionDatasource

Hello I have a screen with lookupfield, datagrid with a valueCollectionDatasource with native sql query, I am trying to change datasource value but it no change noting, how I can modify the datasorce programatically depending of lookup field?

This is my valueCollectionDatasource:

<valueCollectionDatasource id="datoActaDs" datasourceClass="com.empowerment.app.web.acta.actaencabezado.OrigenDatoActa"> <properties> <property datatype="string" name="objetivo"/> <property datatype="string" name="noacta"/> <property datatype="dateTime" name="fh_creado"/> <property datatype="string" name="lugar"/> <property datatype="string" name="nombre"/> <property datatype="string" name="compromiso"/> <property datatype="boolean" name="acta_aprobada"/> </properties> </valueCollectionDatasource>

This is my datagrid
<dataGrid id="dgActa" visible="false" datasource="datoActaDs" width="100%"> <columns> <column id="noacta" caption="No Acta" property="noacta"/> <column id="fh_creado" caption="Día" property="fh_creado"/> <column id="objetivo" caption="Objetivo" property="objetivo"/> <column id="compromiso" caption="Compromisos" property="compromiso"/> <column id="acta_aprobada" caption="Aprobada" property="acta_aprobada"/> </columns> </dataGrid>

And this is my java class

@Inject
private CollectionDatasource<KeyValueEntity, Object> datoComiteDs;
@Inject
private CollectionDatasource<KeyValueEntity, Object> datoActaDs;
@Inject
private ActaService actaService;
@Inject
private DataGrid dgActa;
private Integer idComiteSeleccionado;

@Override
public void init(Map<String, Object> params) {
    super.init(params);
    datoComiteDs.addItemChangeListener(new ItemChangeListener<KeyValueEntity>());
    Collection<KeyValueEntity> datoARefresh;
    if(idComiteSeleccionado==null){
        idComiteSeleccionado = 0;
    }
    datoARefresh = actaService.getDatosActaXComite(idComiteSeleccionado);

    for (KeyValueEntity resultEntity : datoARefresh) {
        datoActaDs.addItem(resultEntity);
    }
    dgActa.setDatasource(datoActaDs);
}

private class ItemChangeListener<T extends Entity> implements Datasource.ItemChangeListener<T> {
    @Override
    public void itemChanged(Datasource.ItemChangeEvent<T> e) {
        datoActaDs.clear();
        Collection<KeyValueEntity> datoARefresh;
        idComiteSeleccionado = e.getItem().getValue("comiteId");
        datoARefresh = actaService.getDatosActaXComite(e.getItem().getValue("comiteId"));
        for (KeyValueEntity resultEntity : datoARefresh) {
            datoActaDs.addItem(resultEntity);
        }
        dgActa.setDatasource(datoActaDs);
        showNotification(e.getItem().getValue("comiteId").toString());
        dgActa.setVisible(true);
        datoActaDs.refresh();
        datoActaDs.setRefreshOnComponentValueChange(true);
        datoActaDs.addCollectionChangeListener(event ->{
            datoActaDs.refresh();
        });
    }
}