none
Asp Net MVC RRS feed

  • Pergunta

  • Fala pessoal. 

    to com um problema aqui.

    tenho um grid que recebe os dados do model quando  a pagina é chamada a 1 vez.  a consulta que trás o resultado recebe um parâmetro de data( data atual) ate ai blz. 

    o problema esta quanto tento atualizar este grid enviando um novo parâmetro de data.

    então hj é dia 18/01/2020. chamei a pag. ele pega data e carrega 9 registros.

    quando altero o campo data e realizo a consulta exemplo dia 20/01/2020 ( 2 registros) o grid recebe os dados carrega duas linhas. mas os campos ficam como Undefined 

    minha view

    <table id="grid_cadastro" class="table table-bordered table-striped table-hover">
                <thead>
                    <tr>
                        <th>Data</th>
                        <th>Hora I</th>
                        <th>Hora F</th>
                        <th>De</th>
                        <th>Para</th>
                        <th>Cliente</th>               
                    </tr>
                </thead>
                <tbody>
                    @foreach (var item in Model)
                    {
                        <tr data-id="@item.Id">
                            <td>@item.DataM.ToString("dd/MM/yyyy")</td>
                            <td>@item.HoraI.ToString(@"hh\:mm")</td>
                            <td>@item.HoraF.ToString(@"hh\:mm")</td>
                            <td>@item.De</td>
                            <td>@item.Para</td>
                            <td>@item.Cliente</td>
                        </tr>
                    }
                </tbody>
            </table>
    
    

    JS

      function criar_linha_grid(dados) {
                var ret =
                    '<tr data-id=' + dados.Id + '>' +
                    '<td>' + dados.data + '</td>' +
                    '<td>' + dados.horai + '</td>' +
                    '<td>' + dados.horaf + '</td>' +
                    '<td>' + dados.de + '</td>' +
                    '<td>' + dados.para + '</td>' +
                    '<td>' + dados.cliente + '</td>' +
                    '<td>' +
                    '<a class="btn btn-primary btn-alterar" role="button" style="margin-right: 3px"><i class="glyphicon glyphicon-pencil"></i> Alterar</a>' +
                    '<a class="btn btn-danger btn-excluir" role="button"><i class="glyphicon glyphicon-trash"></i> Excluir</a>' +
                    '</td>' +
                    '</tr>';
    
                return ret;
            }
    
      .on('click', '#btn_selecionar', function () {
                    var btn = $(this);
    
                    var url = '@Url.Action("Buscardata", "MarcacaoEntrada")',
                        param = {
                            DT: $('#txt_data').val()
                        };
    
                    $.post(url, add_anti_forgery_token(param), function (response) {
                        if (response) {
    
                            var table = $('#grid_cadastro').find('tbody');
                            table.empty();
                            for (var i = 0; i < response.length; i++) {
                                table.append(criar_linha_grid(response[i]));
                            }
                        }
                    })
                        .fail(function () {
                            swal('Aviso', 'Erro ao Buscar', 'warning');
                        });
                   })

    alguém pode me ajudar?

    Att ricardo.


    sábado, 18 de janeiro de 2020 19:35

Respostas

  • Resolvi da seguinte forma.
      $(document).ready(function () {
                var hoje = new Date();
                $('#txt_data').val(formatar_data(hoje));
    
            })
    
                .on('click', '#btn_selecionar', function () {
                    var btn = $(this);
    
                    var url = '@Url.Action("Buscardata", "MarcacaoEntrada")',
                        param = {
                            DT: $('#txt_data').val()
                        };
    
                    $.post(url, add_anti_forgery_token(param), function (response) {
                        if (response) {
                            var table = $('#grid_cadastro').find('tbody');
                            table.empty();
                            $.each(response, function (i, item) {
                                var rows = "<tr>"
    
                                    + "<td>" + item.DatM  + "</td>"
                                    + " <td>" + item.HoI + "</td>"
                                    + " <td>" + item.Hof + "</td>"
                                    + " <td>" + item.De + "</td>"
                                    + " <td>" + item.Para + "</td>"
                                    + " <td>" + item.Cliente + </td>"
                                    + " <td>" + item.obs + "</td>"
                                    + " <td>" + item.tM + "</td>"
                                    + "</tr>";
                                $('#grid_cadastro tbody').append(rows);
                            });
                          
                        }
                    })
                        .fail(function () {
                            swal('Aviso', 'Erro ao Buscar', 'warning');
                        });
                })

    • Marcado como Resposta RicardoSj segunda-feira, 20 de janeiro de 2020 15:45
    segunda-feira, 20 de janeiro de 2020 15:45