Next BP

Manual do Usuário

Integrações

Manual Técnico

Formulários: Copiar Dados de Tabelas

Neste exemplo, desejamos copiar os dados da tabela_a para a tabela_b.

Para isso vamos excluir as linhas da tabela_b, percorrer cada linha da tabela_a, inserir novas linhas na tabela tabela_b e copiar os dados.

No evento Ao Clicar do botão copiar_dados_tabela, adicione o javascript:

// remover linhas da tabela_b
tabela_b.find('tr[linha_count] .btn_exclui_linha').click();

// percorrer linhas da tabela_a
var linhas = tabela_a.find('tr[linha_count]');

for (var linha = 0; linha < linhas.length; linha++) {
  // adicionar linha na tabela_b
  tabela_b.find('.btn_add_linha:first').click();
}

// timeout para aguardar o término do processamento de inclusão de novas linhas
setTimeout(function() {
  for (var linha = 0; linha <= linhas.length; linha++) {

    // valor campo a
    var campo_a = $(linhas[linha]).find('[id_elemento="campo_a"]');
    var valor_campo_a = get_valor(campo_a);

    // valor campo b
    var valor_campo_b = $(linhas[linha]).find('[id_elemento="campo_b"]').maskMoney('unmasked')[0];
    var tabela_b_linha = tabela_b.find('tr[linha_count='+linha+']');
    var tabela_b_linha_campo_c = $(tabela_b_linha.find( '[id_elemento="campo_c"]'));

    set_valor(tabela_b_linha_campo_c, valor_campo_a);

    tabela_b_linha.find( '[id_elemento="campo_d"]').maskMoney('mask', valor_campo_b).trigger('change');
  }
}, 800);


// bloqueia o campo_c e campo_d
set_bloqueado(campo_c, true);
set_bloqueado(campo_d, true);

// ocultar botões
tabela_b.find('.btn_add_linha').hide();
tabela_b.find('.btn_exclui_linha').hide();

Resultado ao clicar no botão "Copiar Dados Tabela A para B":

Índice do Manual
Next BP versão 24.38.2