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;
}
compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags reloadzoomfiltervalues select dataset ou faça a sua própria pergunta.