Campo de Tabela Filha não está sendo preenchido por Dataset

Boa tarde, comunidade.

Estou tentando preencher um campo da minha tabela filha a partir do meu dataset, porém não está funcionando.

Consegui tratar o valor que irá preencher o campo, porém não estou conseguindo fazer com que ele seja exibido. Ao usuário digitar o código "1" deveria preencher descrição com "COMPONENTE 1" e o UM com "m".

Código da minha tabela:

<table id="transferenciaMaterial" tablename="transferenciaMaterial" class="table table-striped table-bordered " border="0" nodeletebutton="false" noaddbutton="true">
                                                <thead>
                                                    <tr>
                                                        <td class="form-group col-md-2" style="text-align: center; font-size: 18px; color: #666666; background-color: #f9f9f9;">Código</td>
                                                        <td class="form-group col-md-7" style="text-align: center; font-size: 18px; color: #666666; background-color: #f9f9f9;">Descrição do Componente</td>
                                                        <td class="form-group col-md-1" style="text-align: center; font-size: 18px; color: #666666; background-color: #f9f9f9;">UM</td>
                                                        <td class="form-group col-md-2" style="text-align: center; font-size: 18px; color: #666666; background-color: #f9f9f9;">Qtd</td>
                                                    </tr>
                                                </thead>
                                                <tr>
                                                    <td style="vertical-align: middle; text-align: center;">
                                                        <input oninput="vazio()" onblur="descricao()" id="codigoComponente" name="codigoComponente" type="number" class="form-control">
                                                    </td>

                                                    <td style="vertical-align: middle; text-align: center;">
                                                        <input id="descricaoComponente" name="descricaoComponente" type="text" class="form-control" readonly>
                                                    </td>

                                                    <td style="vertical-align: middle; text-align: center;">
                                                        <input id="medidaComponente" name="medidaComponente" type="text" class="form-control" readonly>
                                                    </td>

                                                    <td style="vertical-align: middle; text-align: center;">
                                                        <input id="qtdComponente" name="qtdComponente" type="number" class="form-control">
                                                    </td>

                                                </tr>
                                            </table>

Código do meu dataset:

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

    ds.addColumn("Codigo");
    ds.addColumn("Descricao");
    ds.addColumn("UM");

    if (constraints != null) {
        for (var i = 0; i < constraints.length; i++) {
            if (constraints[i].fieldName == "Codigo") { 
                if ( constraints[i].initialValue == "1" ){
                    ds.addRow(new Array("1", "COMPONENTE 01", "m"));
                }
                else if ( constraints[i].initialValue == "2" ){
                    ds.addRow(new Array("2", "COMPONENTE 02", "cm"));
                }
                else if(constraints[i].initialValue == "11"){
                    ds.addRow(new Array("11", "COMPONENTE 11", "L"));
                }
                else if (constraints[i].initialValue == "22"){
                    ds.addRow(new Array("22", "COMPONENTE 22", "mL"));
                }
            }
        }
    }



    return ds;
}

Código da inserção do dado no campo:

function descricao(){
    $('input[id^="codigoComponente___"]').each(function(index, value){
        var seq = $(this).attr("id").split("___")[1];

        var descricao = $("#descricaoComponente___" + seq);
        var um = $("#medidaComponente___" + seq);

        var codigo = $("#codigoComponente___" + seq).val();

        var c1 = DatasetFactory.createConstraint("Codigo", codigo, codigo, ConstraintType.MUST);
        var constraints = new Array(c1);


        var fieldDescricao = new Array("Descricao");
        var fieldUM = new Array("UM");

        try {

            var datasetDescricao = DatasetFactory.getDataset("dsComponente", fieldDescricao, constraints, null);
            var row = datasetDescricao.values[0];
            descricao.innerHTML = row["Descricao"];

            var datasetUM = DatasetFactory.getDataset("dsComponente", fieldUM, constraints, null);
            var row = datasetUM.values[0];
            um.innerHTML = row["UM"];
        } catch (erro){
            descricao.innerHTML = erro;
            um.innerHTML = erro;

        }
    });
}

Alguém já passou por algo parecido e poderia compartilhar a solução?

Atenciosamente, Leonardo Fioretti.

compartilhar
Anexos
  • exx1.png
    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 tabela paifilho datasets constraint constraints ou faça a sua própria pergunta.