Filtro Dinamico Campo Zoom

Boa Tarde,

Pessoal, estou com uma dificuldade, possuo um campo select que tem 6 valores (zmat, zcon, zser, zloc, zrep, zequ), quando por exemplo eu selecionar o valor ZMAT, somente os valores com a Referencia ZMAT do Dataset porderão ser exibidos o ZOOM. Como posso realizar isso?

DataSet:

function defineStructure() {
    addColumn("REF")
    addColumn("CLASSE");
    addColumn("PCBR");
    addColumn("DESC");    
    setKey(["REF", "CLASSE", "DESC"]);
}
function createDataset(fields, constraints, sortFields) {

    var ds = DatasetBuilder.newDataset();

    ds.addColumn("REF");
    ds.addColumn("CLASSE");    
    ds.addColumn("DESC");

    ds.addRow(new Array("ZMAT", "B200", "0002 41102001 Materiais de Construção | 0003 42102001 Materiais de Construção"));
    ds.addRow(new Array("ZMAT", "B201", "0002 41102008 Materiais Diversos | 0003 42102007 Materiais Diversos"));
    ds.addRow(new Array("ZCON", "B300", "0002 41101014 Fornecimento de Alimentação | 0003 42102003 Materiais de Consumo"));
    ds.addRow(new Array("ZCON", "B301", "0002 41102003 Materiais de Consumo | 0003 42102003 Materiais de Consumo"));
    ds.addRow(new Array("ZCON", "B302", "0002 41102004 Materiais de Escritório | 0003 42102004 Materiais de Escritório"));
    ds.addRow(new Array("ZCON", "B303", "0002 41102005 Materiais de Laboratório | 0003 42102007 Materiais Diversos"));
    ds.addRow(new Array("ZCON", "B304", "0002 41102006 Material de Segurança/EPI | 0003 42102005 Material de Segurança/EPI"));
    ds.addRow(new Array("ZCON", "B305", "0002 41102007 Material de Segurança/EPC | 0003 42102006 Material de Segurança/EPC"));
    ds.addRow(new Array("ZCON", "B306", "0002 41102008 Materiais Diversos | 0003 42102007 Materiais Diversos"));
    ds.addRow(new Array("ZCON", "B307", "0002 41102009 Produtos Químicos | 0003 42102007 Materiais Diversos"));
    ds.addRow(new Array("ZCON", "B308", "0002 41106001 Energia Elétrica | 0003 42104001 Energia Elétrica"));
    ds.addRow(new Array("ZCON", "B309", "0002 41106002 Água e Esgoto | 0003 42104002 Água e Esgoto"));
    ds.addRow(new Array("ZCON", "B310", "0002 41106003 Telefone/Internet | 0003 42104003 Telefone/internet"));
    ds.addRow(new Array("ZCON", "B311", "0002 41107001 Uniformes | 0003 42105001 Uniformes"));
    ds.addRow(new Array("ZCON", "B312", "0002 41107007 Gastos com Refeições | 0003 42105007 Gastos com Refeições"));
    ds.addRow(new Array("ZCON", "B313", "0002 41107008 Custos Diversos | 0003 42105010 Despesas Diversas"));
    ds.addRow(new Array("ZCON", "B314", "0002 41107010 Despesas Internas/Eventos | 0003 42105012 Despesas Internas/Eventos"));
    ds.addRow(new Array("ZCON", "B315", "0002 N/A Brindes e Cortesias | 0003 42105017 Brindes e Cortesias"));
    ds.addRow(new Array("ZCON", "B316", "0002 41108007 Outros Imp.e Taxas  | 0003 42106004 Outros Imp.e Taxas"));
    ds.addRow(new Array("ZCON", "B317", "0002 41109003 Seguros de Veículos | 0003 42108003 Seguros de Veiculos"));
    ds.addRow(new Array("ZCON", "B318", "0002 41109001 Seguro Garantia | 0003 42108001 Seguro Garantia"));
    ds.addRow(new Array("ZCON", "B319", "0002 41109005 Seguro Diversos | 0003 42108002 Seguros de Imóveis"));
    ds.addRow(new Array("ZCON", "B320", "0002 41109005 Seguro Diversos | 0003 42108004 Seguro Diversos"));
    ds.addRow(new Array("ZCON", "B321", "0002 41107004 Alugueis/Condomínio | 0003 42105004 Alugueis/Condomínio"));
    ds.addRow(new Array("ZCON", "B322", "0002 41102002 Insumos p/Máq.e Equip. | 0003 42102002 Insumos Máq.e Equip."));
    ds.addRow(new Array("ZCON", "B323", "0002 41107011 Fretes e Carretos | 0003 42105013 Fretes e Carretos"));
    ds.addRow(new Array("ZCON", "B324", "0002 41107005 Despesas c/ Veículos | 0003 42105005 Despesas c/ Veículos"));
    ds.addRow(new Array("ZCON", "B325", "0002 41107013 Bens não Ativados | 0003 42105021 Bens não Ativados"));
    ds.addRow(new Array("ZCON", "B326", "0002 41102001 Materiais de Construção | 0003 42102001 Materiais de Construção"));
    ds.addRow(new Array("ZCON", "B327", "0002 41101013 Vale Refeição/Vale Alimentação | 0003 42101013 Vale Refeição/Vale Alimentação"));
    ds.addRow(new Array("ZCON", "B328", "0002 N/A Doações | 0003 42105019 Doações"));
    ds.addRow(new Array("ZCON", "B329", "0002 41101016 Seguro de Vida | 0003 42101015 Seguro de Vida"));
    ds.addRow(new Array("ZCON", "B330", "0002 41102010 Ferramentas de Consumo | 0003 42102008 Ferramentas de Consumo"));
    ds.addRow(new Array("ZCON", "B331", "0002 N/A Comunicação e Propaganda | 0003 42107001 Comunicação e Propaganda"));
    ds.addRow(new Array("ZCON", "B332", "0002 41103001 Serviços Prestados Pessoa Jurídica | 0003 42103001 Serviços Prestados Pessoa Jurídica"));
    ds.addRow(new Array("ZREP", "B400", "0002 41107005 Despesas com Veículos | 0003 42105005 Despesas com Veículos"));
    ds.addRow(new Array("ZREP", "B401", "0002 41102002 Insumos para Máquinas/Equipamentos | 0003 42102002 Insumos para Máquinas/Equipamentos"));
    ds.addRow(new Array("ZREP", "B402", "0002 41102004 Materiais Escritório | 0003 42102004 Materiais Escritório"));
    ds.addRow(new Array("ZREP", "B403", "0002 41102008 Materiais Diversos | 0003 42102007 Materiais Diversos"));
    ds.addRow(new Array("ZREP", "B404", "0002 41102010 Ferramentas de Consumo | 0003 42102008 Ferramentas de Consumo"));
    ds.addRow(new Array("ZEQU", "B500", "0002 41102002 Insumos para Máquinas/Equipamentos | 0003 42102002 Insumos para Máquinas/Equipamentos"));
    ds.addRow(new Array("ZEQU", "B501", "0002 41107013 Bens não Ativados | 0003 42105021 Bens não Ativados"));
    ds.addRow(new Array("ZEQU", "B502", "0002 41102001 Mat.de Construção | 0003 42102001 Mat.de Construção"));
    ds.addRow(new Array("ZEQU", "B503", "0002 41102005 Mat.de Laboratório | 0003 42105010 Despesas Diversas"));
    ds.addRow(new Array("ZEQU", "B504", "0002 41102007 Mat.Segurança/EPC | 0003 42102006 Mat.Segurança/EPC"));
    ds.addRow(new Array("ZSER", "B600", "0002 41101012 Assistência Médica/Odontológica  | 0003 42101012 Assistência Médica/Odontológica"));
    ds.addRow(new Array("ZSER", "B601", "0002 41101013 Vale Refeição/Vale Alimentação | 0003 42101013 Vale Refeição/Vale Alimentação"));
    ds.addRow(new Array("ZSER", "B602", "0002 41101015 Vale Transporte | 0003 42101014 Vale Transporte"));
    ds.addRow(new Array("ZSER", "B603", "0002 41101017 Cursos Técnicos | 0003 42101016 Cursos Técnicos"));
    ds.addRow(new Array("ZSER", "B604", "0002 41101018 Assistência Médica/Odontológica - Cooperativas | 0003 42101017 Assistência Médica/Odontológica - Cooperativas"));
    ds.addRow(new Array("ZSER", "B605", "0002 41103001 Serviços Prestados Pessoa Jurídica | 0003 42103001 Serviços Prestados Pessoa Jurídica"));
    ds.addRow(new Array("ZSER", "B606", "0002 41103002 Serviços Prestados Pessoa Física | 0003 42103002 Serviços Prestados Pessoa Física"));
    ds.addRow(new Array("ZSER", "B607", "0002 41103003 Serviços Prestados por Cooperativas | 0003 42103003 Serviços Prestados por Cooperativas"));
    ds.addRow(new Array("ZSER", "B608", "0002 41103004 Locação de Mão de Obra | 0003 42103004 Locação de Mão de Obra"));
    ds.addRow(new Array("ZSER", "B609", "0002 41103005 Retirada de Resíduos | 0003 N/A Retirada de Resíduos"));
    ds.addRow(new Array("ZSER", "B610", "0002 41103006 Transporte de Pessoal | 0003 42103010 Transporte de Pessoal"));
    ds.addRow(new Array("ZSER", "B611", "0002 41103007 Assessoria Administrativa/Financeira - CSC | 0003 42103007 Assessoria Administrativa/Financeira"));
    ds.addRow(new Array("ZSER", "B612", "0002 41103008 Outras Assessorias/Consultorias  | 0003 42103009 Consultorias em Geral"));
    ds.addRow(new Array("ZSER", "B613", "0002 41103008 Outras Assessorias/Consultorias  | 0003 42103005 Auditorias Externas"));
    ds.addRow(new Array("ZSER", "B614", "0002 41103008 Outras Assessorias/Consultorias  | 0003 42103006 Assessoria Jurídica"));
    ds.addRow(new Array("ZSER", "B615", "0002 N/A Assessoria para Novos Negócios | 0003 42103008 Assessoria para Novos Negócios"));
    ds.addRow(new Array("ZSER", "B616", "0002 41106004 Correios e Malotes | 0003 42104004 Correios e Malotes"));
    ds.addRow(new Array("ZSER", "B617", "0002 41107002 Alugueis de Equipamentos | 0003 42105002 Aluguel Bens Móveis"));
    ds.addRow(new Array("ZSER", "B618", "0002 41107003 Alugueis de Veiculos | 0003 42105003 Aluguel de Veículos"));
    ds.addRow(new Array("ZSER", "B619", "0002 41107004 Alugueis/Condominio | 0003 42105004 Alugueis/Condominio"));
    ds.addRow(new Array("ZSER", "B620", "0002 41107006 Gastos de Viagens/Hospedagens | 0003 42105006 Gastos de Viagens/Hospedagens"));
    ds.addRow(new Array("ZSER", "B621", "0002 41107009 Assinaturas/Anuidades e Publicações | 0003 42105008 Assinaturas, Anuidades e Publicações"));
    ds.addRow(new Array("ZSER", "B622", "0002 41107011 Fretes e Carretos | 0003 42105013 Fretes e Carretos"));
    ds.addRow(new Array("ZSER", "B623", "0002 41107012 Fotocópias/Plotagens/Impressões | 0003 42105014 Fotocópias/Plotagens/Impressões"));
    ds.addRow(new Array("ZSER", "B624", "0002 N/A Programa de Visitas | 0003 42105009 Programa de Visitas"));
    ds.addRow(new Array("ZSER", "B625", "0002 41107008 Custos Diversos | 0003 42105015 Despesas com Cartórios"));
    ds.addRow(new Array("ZSER", "B626", "0002 N/A Comunicação e Propaganda | 0003 42107001 Comunicação e Propaganda"));
    ds.addRow(new Array("ZSER", "B627", "0002 41107005 Despesas com Veículos | 0003 42105005 Despesas com Veículos"));
    ds.addRow(new Array("ZSER", "B628", "0002 41107010 Desp.Intern./Eventos | 0003 42105012 Desp.Intern./Eventos"));
    ds.addRow(new Array("ZSER", "B629", "0002 N/A Brindes e Cortesias | 0003 42105017 Brindes e Cortesias"));
    ds.addRow(new Array("ZSER", "B630", "0002 N/A Patrocínios | 0003 42105018 Patrocínios"));
    ds.addRow(new Array("ZSER", "B631", "0002 41106003 Telefone/Internet | 0003 42104003 Telefone/internet"));
    ds.addRow(new Array("ZSER", "B632", "0002 41102004 Materiais Escritório | 0003 42102004 Materiais Escritório"));
    ds.addRow(new Array("ZLOC", "B700", "0002 41102008 Materiais Diversos | 0003 42102007 Materiais Diversos"));



    return ds;

}

Zoom:

<input
                                 type="zoom" 
                                 id = "classeAvaliacao" 
                                 name="classeAvaliacao" 
                                   data-zoom="{
                                     'displayKey':'CLASSE',                             
                                     'datasetId':'ds_ClassesContabeis',
                                     'maximumSelectionLength':'1',                                                                 
                                     'fields':[
                                          {
                                            'field':'REF',
                                            'label':'Referência',
                                            'standard':'true'                                   
                                          },{
                                            'field':'CLASSE',
                                            'label':'Classe',
                                            'standard':'true'                                   
                                          },{
                                            'field':'DESC',
                                            'label':'Descrição',
                                            'standard':'true' 
                                          }
                                     ]
                                  }"
                              />
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!

2 respostas

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