Combobox consultando Dataset com Constraints

Existe uma forma de eu aplicar uma constraints num combobox que consulta um dataset? Tenho um cadastro de Montador, onde tem as seguintes informações: Nome, Empresa e CPF. Quero que ele apresente no combobox apenas os Montadores da Empresa Selecionada no preenchimento do Formulario. Hoje, meu combobox está assim:

Existe uma forma de aplicar um constraints na consulta desse dataset via Combobox?

1 curtida

Boa tarde Geovani.
O código está na pergunta, mas não aparece quando publico.
Precisa de alguma tag? Tipo ?

Eu procurei na documentação não achei nada.
Por isso perguntei aqui no forum se alguém sabia se era possível e se não, o que posso fazer.
Minha ultima opção seria dividir o dataset em dois e puxar eles dinamicamente.

@Alessandro,

Somente se você fizer a consulta do dataset no javascript e carregar dinamicamente o combobox.

Gabriel, boa tarde.
Como posso fazer esse carregamento dinamico ?
Usando um evento no combobox ?

Boa tarde pessoal. Consegui chegar a uma solução para o meu problema. Seguindo o conselho do Gabriel, fiz o carregamento dinamico pelo Javascript, preenchendo as options de acordo com a Empresa selecionada no formulario.

var constraintsMontador = new Array(); var str = "";

if($("#lojaCompra").val() == 12 || $("#lojaCompra").val() == 13) { str += '

Montador'; constraintsMontador.push(DatasetFactory.createConstraint("idMontadora", "TCM", "TCM", ConstraintType.MUST));

var ds_montador_combo = DatasetFactory.getDataset("ds_cad_montador", null, constraintsMontador, null); if(ds_montador_combo != null && ds_montador_combo.values.length > 0) { var records = ds_montador_combo.values; for (var index in records) { var record = records[index]; str += '

' + record.idNome + ''; } } } else if($("#lojaCompra").val() == 3) { str += 'Montador'; constraintsMontador.push(DatasetFactory.createConstraint("idMontadora", "MONTE SINAI", "MONTE SINAI", ConstraintType.MUST));

var ds_montador_combo = DatasetFactory.getDataset("ds_cad_montador", null, constraintsMontador, null); if(ds_montador_combo != null && ds_montador_combo.values.length > 0) { var records = ds_montador_combo.values; for (var index in records) { var record = records[index]; str += '

' + record.idNome + ''; } } } $("#montadorAgendamento").html(str); str = "";
1 curtida