none
foreach com table - não consigo fazer renderizar na View RRS feed

  • Pergunta

  • Olá,

    Como faço para renderizar uma table dinâmica na view?
    Meu controller está retornando uma ViewData e no momento que chega no foreach 
    faz o loop porém não renderiza a table na view.
    Se alguém puder me ajudar, agradeço.
    
    
    <table class="webGrid">
                    <tr>
                        <th id="tbGridCodigo" class="header">Cód. RetiradaPRO</th>
                        <th id="tbGridCodigo" class="header">Cód. Retirada</th>
                        <th id="tbGridCodigo" class="header">Cód. do Produto</th>
                        <th id="tbGridProdutos" class="header">Produto</th>
                        <th id="tbGridCodigo" class="header">UN</th>
                        <th id="tbGridValor" class="header">Qtd. Retirada</th>
                        <th id="tbGridValor" class="header">Excluir</th>
                    </tr>
                    @foreach (var item in (List<GetSis.Models.RetiradaPROs>)ViewData["RecuperaListaDeProdutos"])
                    {
                        <tr>
                            <td>@item.IDRetiradaPRO</td>
                            <td>@item.IDRetirada</td>
                            <td>@item.IDProduto</td>
                            <td>@item.Produto</td>
                            <td>@item.Unid</td>
                            <td>@item.QtdRetirada</td>
                            <td>@Html.ActionLink("Excluir", "Delete")</td>
                        </tr>
                    }
    
                    </table>

    sexta-feira, 19 de dezembro de 2014 12:22

Respostas

  • Conseguir resolver de outra maneira.
    Através de um ajax.
    
    
    function IncluiProduto() {
    
            var strRetirada = $('#IDRetirada').val();
            var strFundo = $('#pesquisaFundo').val();
            var strSecretaria = $('#pesquisaSecretaria').val();
            var strUnidade = $('#pesquisaUnidade').val();
            var strUsuario = $('#pesquisaUsuario').val();
            var strUsuarioSolicitante = $('#pesquisaUsuarioSolicitante').val();
            var strPeriodo = $('#pesquisaPeriodo1').val();
            var strcodigoProduto = $('#codigoProduto').val();
            var strProduto = $('#pesquisaProduto').val();
            var strUN = $('#UN').val();
            var strQtdRetirada = $('#QtdRetirada').val();
    
    
            $.ajax({
                url: "/Retirada/GetAllRetiradaPROs",
                type: 'GET',
                data: {
                    strcodigoProduto: strcodigoProduto,
                    strQtdRetirada: strQtdRetirada,
                    strRetirada: strRetirada,
                    strFundo: strFundo,
                    strSecretaria: strSecretaria,
                    strUnidade: strUnidade,
                    strUsuario: strUsuario,
                    strUsuarioSolicitante: strUsuarioSolicitante,
                    strPeriodo: strPeriodo
                },
                datatype: 'Json',
                success: function (data) {
                    $('#table_id').append("<tr><td>" + data.IDRetiradaPRO + "</td><td>" + data.IDRetirada + "</td><td>" +
                        data.IDProduto + "</td><td>" + data.Produto + "</td><td>" + data.Unid + "</td><td>" + data.QtdRetirada + "</td></tr>");
                }
            });
        };
    
    Obrigada por ajudarem.

    • Marcado como Resposta Maryaps sexta-feira, 19 de dezembro de 2014 18:17
    sexta-feira, 19 de dezembro de 2014 18:17

Todas as Respostas

  • Faz um breakPoint nessa parte abaixo e veja se esta realmente trazendo algum dado:
    @foreach (var item in (List<GetSis.Models.RetiradaPROs>)ViewData["RecuperaListaDeProdutos"])
                    {
                        <tr>
                            <td>@item.IDRetiradaPRO</td>
                            <td>@item.IDRetirada</td>
                            <td>@item.IDProduto</td>
                            <td>@item.Produto</td>
                            <td>@item.Unid</td>
                            <td>@item.QtdRetirada</td>
                            <td>@Html.ActionLink("Excluir", "Delete")</td>
                        </tr>
                    }
    

    sexta-feira, 19 de dezembro de 2014 12:43
  • Oi,

    Fiz um breakpoint sim... Os dados estão sendo retornado do controller. Mas no momento em que deveria ser apresentada na view não aparece.


    sexta-feira, 19 de dezembro de 2014 13:15
  • Rapaz eu tive esse problema com webGrid que não atualizava a View, veja esse video aqui pois foi por ele que resolvi 
    sexta-feira, 19 de dezembro de 2014 13:31
  • Conseguir resolver de outra maneira.
    Através de um ajax.
    
    
    function IncluiProduto() {
    
            var strRetirada = $('#IDRetirada').val();
            var strFundo = $('#pesquisaFundo').val();
            var strSecretaria = $('#pesquisaSecretaria').val();
            var strUnidade = $('#pesquisaUnidade').val();
            var strUsuario = $('#pesquisaUsuario').val();
            var strUsuarioSolicitante = $('#pesquisaUsuarioSolicitante').val();
            var strPeriodo = $('#pesquisaPeriodo1').val();
            var strcodigoProduto = $('#codigoProduto').val();
            var strProduto = $('#pesquisaProduto').val();
            var strUN = $('#UN').val();
            var strQtdRetirada = $('#QtdRetirada').val();
    
    
            $.ajax({
                url: "/Retirada/GetAllRetiradaPROs",
                type: 'GET',
                data: {
                    strcodigoProduto: strcodigoProduto,
                    strQtdRetirada: strQtdRetirada,
                    strRetirada: strRetirada,
                    strFundo: strFundo,
                    strSecretaria: strSecretaria,
                    strUnidade: strUnidade,
                    strUsuario: strUsuario,
                    strUsuarioSolicitante: strUsuarioSolicitante,
                    strPeriodo: strPeriodo
                },
                datatype: 'Json',
                success: function (data) {
                    $('#table_id').append("<tr><td>" + data.IDRetiradaPRO + "</td><td>" + data.IDRetirada + "</td><td>" +
                        data.IDProduto + "</td><td>" + data.Produto + "</td><td>" + data.Unid + "</td><td>" + data.QtdRetirada + "</td></tr>");
                }
            });
        };
    
    Obrigada por ajudarem.

    • Marcado como Resposta Maryaps sexta-feira, 19 de dezembro de 2014 18:17
    sexta-feira, 19 de dezembro de 2014 18:17
  • Parabéns, pelo menos evoluiu na solução ;)
    sexta-feira, 19 de dezembro de 2014 18:19