Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Fluig - Plataforma - FORM - Como utilizar a função fnWdkRemoveChild para apagar registros da tabela filha

Dúvida
Tenho uma tabela pai e filha em um formulário, e um botão Buscar que alimenta esta tabela filha. Preciso que ao alterar o filtro e acionar buscar, execute uma função que apague os registros da tabela filha. 
Vi que existe a função fnWdkRemoveChild(oElement), porém o que deve ser passado neste oElement para que apague as linhas?

Ambiente
TOTVS Fluig - Plataforma - Formulários - Todas as versões

Solução
Você pode chamar a função fnCustomDelete para apagar as linhas da tabela. O que define a linha a ser deletada é o this na função fnCustomDelete, com isso as linhas são apagadas uma a uma. 

this passado para a função é a linha que ele vai remover, no caso esse oElement é o this que será recebido na função, por exemplo:

<table tablename="teste" customFnDelete="fnCustomDelete(this)">

Para apagar diversos registros deve ser utilizado um loop. Você pode utilizar algo assim:

function fnCustomDelete(oElement){


// Recuperar o valor do registro filho que está sendo eliminado
// var valor = $(oElement).closest('tr').find("input[id^='NAME_CAMPO']").val();
// alert ("O valor do campo Cliente e: " + valor);
// Remover o registro filho
$('#IdPaiXfilho').find('tbody tr').each(function(index, item) {
console.log(item);
if (index > 0) { // Ignora a primeira opção, pois a posição 0 e a linha que possui os titulos da colunas
fnWdkRemoveChild(item);
alert ("Filho eliminado!");
}
});

Saiba Mais
Confira abaixo dois exemplos de como excluir 1 linha do paiFilho e como excluir todas as linhas do paiFilho:

Excluir 1 linha do paiFilho:

Supondo que dentro do meu paiFilho eu tenha um input com nome de InputQT___1, para deletar toda a linha basta você passar o elemento desta forma com jQuery:

fnWdkRemoveChild($("#InputQT___1")[0]);

ou desta forma com JavaScript puro:

fnWdkRemoveChild(InputQT___11);

Com JavaScript puro o id do campo paiFilho deve ser passado direto e não como string.

Excluir todos os filhos de um paiFilho:

function removeAllPaiFilhos(idFilho){
   $("[id^="+idFilho+"___]").toArray().forEach((e,i)=>{
      fnWdkRemoveChild(e);
  })
}

​​Após adicionar esta função em seus arquivo de funcoes.js, basta chamar através do seu botão de exclusão via evento onClick (passando um ID sem os underlines), conforme abaixo:

onclick="removeAllPaiFilhos('InputQT')"

Importante: Lembrando que os trechos de código repassados acima são exemplos e devem ser adaptados ao cenário de cada cliente.

A documentação completa sobre as funções pode ser acessada em Desenvolvimento de formulários.

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _