Versão atual:

reloadZoomFilterValues atráves de um select para filtrar nomes de um dataset

Estou tentando selecionar a unidade da empresa num select e o zoom carregar somente os usuarios que pertencem a unidade mas não filtra, poderiam ajudar?

SELECT PARA SELECIONAR A UNIDADE, note função no onchange

<select class="form-control required" name="unidade" onchange="troca_unidade()" id="unidade">
                                <option selected value="">Selecione uma unidade</option>
                                <option value="ARAGUAÍNA">ARAGUAÍNA</option>
                                <option value="FINE FOODS">FINE FOODS</option>
                                <option value="BARRETOS">BARRETOS</option>
                            </select>

zoom para carregar os usuarios da unidade

<input
                                type="zoom"
                                id = "sup_almox"
                                name="sup_almox"
                                class="required"
                                data-zoom="{
                                    'displayKey':'Nome',
                                    'datasetId':'dsUnidades_compras',
                                    'filterValues':'papel,sup_almox',
                                    'resultLimit':'3',
                                    'fields':[
                                        {
                                          'field':'Nome',
                                          'label':'Nome',
                                          'standard':'true'
                                        },{
                                          'field':'Codigo',
                                          'label':'Ident.'
                                        }
                                    ]
                                 }" 
                            />

FUNÇÃO DO ONCHANGE

function troca_unidade(){
    if(document.getElementById("unidade").value == "ARAGUAÍNA"){
        var nome = "arnaldo";
        reloadZoomFilterValues(sup_almox, "Codigo,"+ nome);
    }
}

CODIGO DO DATASET Basicamente estou filtrando os usuarios de um grupo de todas as unidades, quando selecionar uma unidade no select o zoom deve recarregar somente os da unidade.

function createDataset(fields, constraints, sortFields) {
    var newDataset = DatasetBuilder.newDataset();

    newDataset.addColumn("Codigo");
    newDataset.addColumn("Nome");

    var grupo = 'sup_almox';
    var nome = '%%';
    if (constraints != null) {
        for (var i = 0; i < constraints.length; i++) {

            if (constraints[i].fieldName == "papel") { 
                grupo = constraints[i].initialValue.toString();
            }
            else if (constraints[i].fieldName == "Nome") { 
                nome = "%"+constraints[i].initialValue.toString()+"%";
            }
        }
    }

    var c1 = DatasetFactory.createConstraint("colleagueGroupPK.groupId", grupo, grupo, ConstraintType.MUST);
    var constraints = new Array(c1); 
    var datasetGroup = DatasetFactory.getDataset("colleagueGroup", null, constraints, null);  
    for(var i = 0; i < datasetGroup.rowsCount; i++) {

        var user = datasetGroup.getValue(i, "colleagueGroupPK.colleagueId");
        var b1 = DatasetFactory.createConstraint("colleaguePK.colleagueId",user , user, ConstraintType.MUST);
        var b2 = DatasetFactory.createConstraint("colleagueName", nome, nome, ConstraintType.MUST);
        b2.setLikeSearch(true);

        var constraints2   = new Array(b1,b2);
        var datasetColleague = DatasetFactory.getDataset("colleague", null, constraints2, null);
        if (datasetColleague.values.length > 0)
        {
            newDataset.addRow(new Array(user, datasetColleague.getValue(0,"colleagueName")));
        }
    }

    return newDataset;
}

Versão (1):

Ver a versão formatada

reloadZoomFilterValues atráves de um select para filtrar nomes de um dataset

Comentário

new question