Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mucananuca

Deletar uma sub linha existente no Datagrid

Recommended Posts

Olá

 

Possuo uma aplicação Web onde é feito o cadastro dos produtos que possuem semelhança entre duas empresas diferentes. Portanto no produto "x" de uma empresa são relacionados todos os outros produtos que possuem características semelhantes a ele.

 

Ficando como na imagem abaixo:

 

sSwQz9u.png

Estou fazendo o uso do jQuery EasyUI (http://www.jeasyui.com)

 

O problema acontece quando tento deletar (conforme indicado) os subprodutos (que são os produtos semelhantes) de um produto "x" por exemplo.

 

A aplicação não está "achando a linha" ao clicar no Deletar, apenas quando clico no Deletar dos itens relacionados ao 1º produto é que ele deleta, porém as vezes deleta o errado, no caso dos itens relacionados ao segundo, terceiro, etc produtos ele não faz nada, e acusa a mensagem : "Row is null"

 

Creio estar seguindo a documentação corretamente, como faço para o sistema achar e deletar exatamente a linha em que clico? Segue abaixo os trechos de código:

 

Trecho responsável por achar e deletar o produto clicado (cadprodutos.php)

<script type="text/javascript">
    function removerEquivalencia(target) {
                $.messager.confirm('Confirmação', 'Você tem certeza?', function(r) {
                    if (r) {                        
                        var row = $('#ddv').datagrid('getSelected');
                        $.post('./bd/remove_equivalencia.php', {id: row.PROD_SIMIL_ID}, function(result) {
                            if (result.success) {
                                $('#ddv').datagrid('reload');
                            } else {
                                $.messager.show({
                                    title: 'Erro',
                                    msg: result.msg
                                });
                            }
                        }, 'json');
                    }
                });
            }
</script>

Criação do datagrid com seus subitens (também no arquivo cadprodutos.php)

<script type="text/javascript">
		$(function() {
                    $('#dg').datagrid({
                        view: detailview,
                        detailFormatter: function(index, row) {
                            return '<div style="padding:2px;"><table class="ddvclass" id="ddv"></table></div>';
                        },
                        onExpandRow: function(index, row) {
                            var ddv = $('#dg').datagrid('getRowDetail', index).find('table.ddvclass');
                            ddv.datagrid({
                                url: './bd/get_prodequivalentes.php?itemid=' + row.PROD_ID,
                                fitColumns: true,
                                singleSelect: true,
                                rownumbers: true,
                                loadMsg: '',
                                height: 'auto',
                                columns: [[
                                        {field: 'EMP_NOME', title: 'Empresa', width: 80},
                                        {field: 'PROD_DESCRCURTA', title: 'Descrição', width: 100},
                                        {field: 'PROD_SIMIL_OBS', title: 'Observação', width: 100},
                                        {field: 'PROD_SIMIL_PERC', title: 'Similar (%)', width: 40},
                                        {field: 'acao', title: 'Ação', width: 35, align: 'center',
                                            formatter: function(value, row, index) {
                                                var a = '<a href="#" style="color: black;" onclick="removerEquivalencia(this)"><b>Deletar</b></a>';
                                                return a;
                                            }
                                        }
                                    ]],
                                onResize: function() {
                                    $('#dg').datagrid('fixDetailRowHeight', index);
                                },
                                onLoadSuccess: function() {
                                    setTimeout(function() {
                                        $('#dg').datagrid('fixDetailRowHeight', index);
                                    }, 0);
                                }
                            });
                            $('#dg').datagrid('fixDetailRowHeight', index);
                        }
                    });
                });
</script>

No código o arquivo "get_prodequivalentes.php" é o responsável por preencher todo o Datagrid com seus subitens, e o "remove_equivalencia.php" por deletar o produto ao clicar em Deletar na subgrid. Ambos estão funcionando corretamente.

 

Qualquer ajuda ou esclarecimento serão bem vindos.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.