Olá,
Criei uma tabela Pai x Filho (Itens da Requisição) e outra tabela Pai x Filho (Rateios dos Itens da Requisição) onde um item poderá ter vários rateios. (Conforme imagem anexo)
No ato da eliminação de um registro da tabela (Itens da Requisição), preciso obter o ID da linha para que possa buscar todos os "SEQ Itens relacionados" na tabela (Rateios dos Itens da Requisição) e eliminar automaticamente estes registros.
Alguém teria alguma ideia de como fazer este código?
Obrigado,
Segue código para eliminação dos registros (Tabela Pai x Filho relacionada):
function fnCustomDeleteItReqMat(oElement){
FLUIGC.message.confirm({
message: 'Deseja remover o item da requisição? \n' +
'No ato da eliminação todos os rateios relacionados ao item serão eliminados.',
title: 'Remoção de Item da Requisição',
labelYes: 'Remover',
labelNo: 'Cancelar'
}, function(result, el, ev) {
if (result){
/*Elimina linha da Tabela (Itens Requisicao)*/
fnWdkRemoveChild(oElement);
/*Percorre todos "SEQITEM"(Tabela Rateio Itens Requisicao)*/
$("input[id^='SEQITEM___']").each(function(index, value){
/*Identifica "SEQUENCIA"(Tabela Itens Requisicao) inexistente e elimina registro*/
if ( typeof $("#SEQUENCIA___" + $(this).val()).val() === "undefined" ) {
$(this).parents("tr").remove();
}
})
}
});
}
Uma forma que fiz foi remover o botão padrão de excluir o filho e adicionar um botão para isso.
Na table adicionei o nodeletebutton="true" e o customFnDelete="fnCustomDelete(this)".
Na tbody incluí um
com o botão chamando a exclusão.
E minha função ficou assim
function fnCustomDelete(obj){
var aId = obj.id.split('');
var row = aId[3];
var cNomeArquivo = $("#arquivoContrato__"+row).val();
if( cNomeArquivo != "" ) {
$.each(parent.ECM.attachmentTable.getData(), function(i, attachment) {
if(attachment.description == cNomeArquivo){
console.log("Removendo anexo ", attachment.description);
parent.WKFViewAttachment.removeAttach([i]);
}
});
}
fnWdkRemoveChild(obj);
}
No meu caso, utilizei isso para remover um anexo atrelado a essa linha da table.