Tabela com dados de dataset

Boa tarde,

Qual a melhor forma de criar uma tabela no formulário com os dados vindo de um dataset customizado?

Estou fazendo da seguinte forma (peguei como exemplo a forma que é feito no formulário padrão da TOTVS), diretamente no formulário, via script:

Formulário:

    <div class="panel panel-default" id="dvItmMov">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a class="collapse-icon up" data-toggle="collapse" data-parent="#accordion" href="#collapseItmMov">Itens de Movimento</a>
            </h4>
        </div>
        <div id="collapseItmMov" class="panel-collapse collapse">
            <div class="panel-body">
                <div id="tblItmMov"></div>
            </div>
        </div>
    </div>

Script:

            var codcoligada = $('#CodColigada').val();
            var idmov = $('#IdMov').val();

            var fields = new Array(codcoligada, idmov);

            var dsItens = DatasetFactory.getDataset("dsBuscarItemOC", fields, null, null);

            var xmlNewDataSet = dsItens.values[0]['XML'];
            var xml = $.parseXML(xmlNewDataSet);
            $xml = $(xml); 


            var itmMovJSON = [];
            $(xml).find('Resultado').each(function(index) {
              itmMovJSON.push({
                'prd': $(this).find('ITEM').text(),
                'und': $(this).find('UNIDADE').text(),
                'qtde': formatMoney($(this).find('QUANTIDADE').text(), '', '.', ','),
                'preco': formatMoney($(this).find('PRECOUNITARIO').text(), 'R$ ', '.', ','),
                'vlrtotal': formatMoney($(this).find('VALORTOTAL').text(), 'R$ ', '.', ',')
              });
            });

            var tblItmMov = FLUIGC.datatable('#tblItmMov', {
              mobileMainColumns: [0, 2, 3],
              dataRequest: itmMovJSON,
              renderContent: ['prd', 'und', 'qtde', 'preco', 'vlrtotal'],
              header: [{
                'title': 'Produto'
              }, {
                'title': 'Unidade'
              }, {
                'title': 'Quantidade'
              }, {
                'title': 'Preço Unitário'
              }, {
                'title': 'Valor Total'
              } ],

                search: {
                    enabled: true,
                    onlyEnterkey: true,
                    searchAreaStyle: 'col-md-5',
                    onSearch: function(res) {
                      var t = this.tableData;
                      if (res) {                                    
                        var data = itmMovJSON;
                        var search = data.filter(function(el) {
                          return ( (el.prd.toUpperCase().indexOf(res.toUpperCase()) >= 0));
                        });                                    
                        tblItmMov.reload(search);
                      }else
                      {
                        tblItmMov.reload(itmMovJSON);
                      }
                    }
                },
                scroll: {
                    target: ".target",
                    enabled: false
                },
                navButtons: {
                    enabled: false
                }          
            }, function(err, data) {});

Os dados não são carregados na tabela, apesar de o dataset retornar as informações corretamente:

<NewDataSet>
  <Resultado>
    <ITEM>13.05088 - CARTUCHO HP 662 XL COLORIDO</ITEM>
    <UNIDADE>UN</UNIDADE>
    <QUANTIDADE>2.0000</QUANTIDADE>
    <PRECOUNITARIO>60.0000000000</PRECOUNITARIO>
    <VALORTOTAL>120.00000000000000</VALORTOTAL>
  </Resultado>
  <Resultado>
    <ITEM>13.05089 - CARTUCHO HP 662 XL PRETO</ITEM>
    <UNIDADE>UN</UNIDADE>
    <QUANTIDADE>5.0000</QUANTIDADE>
    <PRECOUNITARIO>79.0000000000</PRECOUNITARIO>
    <VALORTOTAL>395.00000000000000</VALORTOTAL>
  </Resultado>
</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!

0 resposta

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