Jump to content


Photo

Preenchimento De Grid


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 r0dr1g0

r0dr1g0

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Masculino
  • Localidade:Juiz de Fora

Posted 07/12/2011, 10:44

imageshack.us/photo/my-images/442/teleentrega.png
[list]Bom dia pessoal,
Tenho uma dúvida e gostaria de uma ajuda.
Esta grid é basicamente a montagem de pedido de uma lanchonete.
O preenchimento dela é feito começando pelo produto, busco na base o produto(autocomplete) e vou adicionado acréscimos para aquele produto, depois clico em “Adicionar o produto”. Feito isso minha grid já está pronta, porém preciso inserir um acréscimo em uma segunda instância, ou seja, o produto já está na grid, para adicionar mais um acréscimo eu teria que excluir todo o produto e montar ele novamente com o novo acréscimo. Para não perder tempo refazendo o procedimento normal, inseri um botão de adicionar acréscimos(+), com o propósito de adicionar mais uma linha de acréscimo com um input auto-complete. O problema está ai, quando clico no botão deve aparecer uma linha depois do ultimo acréscimo daquele produto clicado, é o que não acontece, ele insere a linha na ultima linha da grid, desprezando o produto.

Vou colocar aqui a função que preeenche a grid em primeira instãncia e a função que insere uma nova linha de acréscimos.
Se alguém puder ajudar... Grato desde já.


    function addProdutoCompleto(id,nome,preco,idcat,qtde){
       
        id = arrayProduto[0];
        nome = arrayProduto[1];  
        preco = arrayProduto[2];
        
        //idproduto = $('#IDGenero').val();
        var obs = $("#obsProd").val();
        //alert('arrayProduto.length: '+arrayProduto.length);33
      if(arrayProduto.length != 0){
          
          
        arrayProdutoN[arrayProdutoN.length] = new Array(id, nome, preco, arrayProdutoN.length,count, obs);
          var indice = arrayProdutoN.length-1;
        
      //Função onde é inserido o produto na grid
        var html = "<tr class='even'>";
        //html += "<td><a href='javascript:void(0);' onclick=\"deletarProduto($(this), '"+count+"');\" >" +id+"-"+count+ "<img src='buttons/cross.png' border=0 style='margin-left:10px;'/></a></td>";
        html += "<td><a href='javascript:void(0);' onclick=\"deletarProduto($(this), '"+count+"');\" >'"+id+"' - '"+count+"'<img src='buttons/cross.png' border=0 style='margin-left:10px;'/></a><a><img onclick=\"adicionaAcrescimo($(this),'"+indice+"');\" src='buttons/adicionar.png' border=0 style='margin-left:10px;'/></a></td>";
//        html += "<td><a href='javascript:void(0);' onclick=\"exibeCaixaObs("+(arrayProdutoN.length-1)+",'"+nome+"');\" ><img src='buttons/anotacoes.png' border=0 style='margin-left:10px;'/></a></td>"
        html += "<td></td>";
        html += "<td><input indice='"+indice+"' type='hidden' name='IDGenero[]' id='IDGenero[]' class='field' value='"+id+"'/><b>"+nome+"</b></td>";
        
        html += "<td><input type='text' name='obsProduto"+count+"' id='obsProduto"+count+"' value='"+obs+"' /></td>";
        html += "<td><input type='text' name='Qtdea"+count+"' id='Qtdea"+count+"' onkeypress='alteraBordaQtde(this);' class='field' style='text-align:center;' size='6' value='"+qtde+"' onkeyup='calcularSubTotal();' onblur='calcularSubTotal();' /></td>";
        
        html += "<td style='padding-left:23px;'>R$<input type='text' name='Valor"+count+"' id='Valora"+count+"' class='field' size='6' value='"+parseFloat(preco).toFixed(2)+"' style='background:#DBE5F1; border:0px;' readonly/></td>";
        
        html += "<td style='padding-left:15px;'>R$<input type='text' name='SubTotala"+count+"' id='SubTotala"+count+"' class='field' size='6' value='0' style='background:#DBE5F1; border:0px;'  readonly/></td>";
        
        html += "</tr>";

        html +="<script>id_acrescimo = "+idcat+";";

        html +="$('#tb-ficha tbody td').addClass('separator');";

        html +="$('#tb-ficha tbody tr').mouseover(function(){";
        
        html +="$(this).addClass('over');";
        
        html +="}).mouseout(function(){";
        
        html +="$(this).removeClass('over');";
        
        html +="});";
        
        html +="<\/script>";
        //Fim
      
        $("#tb-ficha").append(html);
        
        calcularSubTotal(arrayProdutoN.length-1);
        
         subtotal1 = 0;
         cont = 0;
        //Adiciona acrescimo na grid
        
        
        for(var i =0; i < arrayAcrescimo.length; i++)
        {

			arrayAcrescimoN[arrayAcrescimoN.length] = new Array(arrayAcrescimo[i][0], arrayAcrescimo[i][1],arrayAcrescimo[i][2], arrayAcrescimo[i][3], count, cont);

			var html = "<tr class='acrescimo acresc"+(id)+"' id='acresc"+count+"'>";
           
            html += "<td></td>";
            html += "<td></td>";

            html += "<td><input type='hidden' name='IDGenero[]' id='IDGenero[]' class='field' value='"+arrayAcrescimo[i][0]+"'/>&nbsp&nbsp&nbsp&nbsp&nbsp <a href='javascript:void(0);' onclick=\"deletarAcrescimoGrid($(this), '"+count+"','qwerty'); calcularSubTotalb(); \" >" +arrayAcrescimo[i][0]+"-"+count+ "<img src='buttons/cross.png' border=0 style='right:7px; height:9px; width:9px;'/>&nbsp</a>"+arrayAcrescimo[i][1]+" </td>";
            html += "<td></td>";
            html += "<td><input type='text' name='Qtdeb"+count+cont+"' id='Qtdeb"+count+cont+"' class='field' style='text-align:center;' size='6' value='"+qtde+"' onkeyup='calcularSubTotalb();' onblur='calcularSubTotalb();' /></td>";
            
            html += "<td style='padding-left:23px;'>R$<input type='text' name='SubTotalb"+count+cont+"' id='SubTotalb"+count+cont+"' class='"+count+"' size='6' value='"+parseFloat(arrayAcrescimo[i][3]).toFixed(2)+"' style='background:#e7f5e2; border:0px;' readonly/></td>";
            
            html += "<td posicaoPai='"+count+"' style='padding-left:23px;'><input type='hidden' name='Valorb"+(arrayAcrescimoN.length-1)+"' id='Valorb"+(arrayAcrescimoN.length-1)+"' class='"+count+"' size='6' value='"+parseFloat(arrayAcrescimo[i][3]).toFixed(2)+"' style='background:#e7f5e2; border:0px;' readonly/></td>";
                      
            html += "</tr>";
            
            html +="<script>id_acrescimo = "+idcat+";";

            html +="$('#tb-ficha tbody td').addClass('separator');";

            html +="$('#tb-ficha tbody tr').mouseover(function(){";
            
            html +="$(this).addClass('over');";
            
            html +="}).mouseout(function(){";
            
            html +="$(this).removeClass('over');";
            
            html +="});";
            
            html +="<\/script>";

            $("#tb-ficha").append(html);
            cont++;
            calcularSubTotalb();
        }
              
       count++;
      }
      else{
           alert('Você deve selecionar ao menos um produto para inserir no pedido');
           document.getElementById('tf_produto').style.border='2px solid red';
           document.getElementById('tf_produto').focus();
       }
       
    }
    
    function adicionaAcrescimo(e,idProduto){
    
        var tr = e.parents('tr').eq(0);
        var genero = tr.find("input[name*=indice").val();
    
//        $(this).closest('tr').find('IDGenero'){
//
//        alert('TR: '+tr.find('IDGenero'));
        
        count = idProduto;
        
        for(var i =0; i < arrayAcrescimo.length; i++)
        {
            var a = i;
            
        }
        
        cont = a +1;
        
            alert('@@@@@: '+arrayProdutoN.length);
            
           //alert('Total Acrescimos: '+genero);
           //alert('AQUI 0 => '+arrayAcrescimo[a][0]+'AQUI 1 => '+arrayAcrescimo[a][1]+'AQUI 2 => '+arrayAcrescimo[a][2]+'AQUI 3 => '+arrayAcrescimo[a][3]);
                     
                     
            //                                                      id                        nome 
            arrayAcrescimoN[arrayAcrescimoN.length] = new Array(arrayAcrescimo[a][0], arrayAcrescimo[a][1],arrayAcrescimo[a][2], arrayAcrescimo[a][3], count, cont);
            
            var html = "<tr class='acrescimo acresc"+(cont)+"' id='acresc"+count+"'>";
           
            html += "<td></td>";
            html += "<td></td>";

            html += "<td><a href='javascript:void(0);' onclick=\"deletarAcrescimoGrid($(this), '"+count+"','qwerty'); calcularSubTotalb(); \" >&nbsp&nbsp&nbsp&nbsp&nbsp " +arrayAcrescimo[a][0]+"-"+count+ "<img src='buttons/cross.png' border=0 style='right:7px; height:9px; width:9px;'/>&nbsp;</a><input onClick='addAcrescimosProduto();' type='text' name='tf_acrescimo1' id='tf_acrescimo1' class='field' style='margin-left: 0px; width: 430px;' value='' /><a href='javascript:void(0);' onclick=\"deletarAcrescimoGrid($(this), '"+count+"','qwerty'); calcularSubTotalb(); \" >&nbsp</a></td>";
            //html += "<td></td>";
            html += "<td><input type='hidden' name='IDGenero[]' id='IDGenero[]' class='field' value=''/></td>";

            html += "<td><input type='text' name='Qtdeb1"+count+cont+"' id='Qtdeb1"+count+cont+"' class='field' style='text-align:center;' size='6' value='' onkeyup='calcularSubTotalb();' onblur='calcularSubTotalb();' /></td>";
            
            html += "<td style='padding-left:23px;'>R$<input type='text' name='SubTotalb1"+count+cont+"' id='SubTotalb1"+count+cont+"' class='"+count+"' size='6' value='' style='background:#e7f5e2; border:0px;' readonly/></td>";
            
            html += "<td posicaoPai='"+count+"' style='padding-left:23px;'><input type='hidden' name='Valorb1"+(arrayAcrescimoN.length-1)+"' id='Valorb1"+(arrayAcrescimoN.length-1)+"' class='"+count+"' size='6' value='' style='background:#e7f5e2; border:0px;' readonly/></td>";
                      
            html += "</tr>";
            
            html +="<script>";

            html +="$('#tb-ficha tbody td').addClass('separator');";

            html +="$('#tb-ficha tbody tr').mouseover(function(){";
            
            html +="$(this).addClass('over');";
            
            html +="}).mouseout(function(){";
            
            html +="$(this).removeClass('over');";
            
            html +="});";
            
            html +="<\/script>";

            $("#tb-ficha").append(html);
            cont++;
            calcularSubTotalb();
        
              
       
       count++;
    }
:(




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq