1

我正在尝试对包含许多行的表格进行分页,但我遇到了问题。该表加载了从服务器接收到的数据,这些数据带来了 1 个共同的数据,称为区域。如果它们是相同的区域,则将它们分组在一个特殊的行中以进行单击扩展或保存,这是一种手风琴。问题是分页没有考虑到这一点,那么组的感觉就丢失了。

<table border="0" id="proforma" data-role="table" data-mode="columntoggle" class="ui-body-d ui-shadow table-stripe ui-responsive" data-column-button-theme="b"  data-column-btn-theme="b" data-column-btn-text="Ver más" data-column-popup-theme="b">
            <thead>
                <tr class="ui-bar-d">
                    <th class="header_table cliente_table" data-priority="1">Cliente</th>
                    <th class="header_table real_table" data-priority="1">Real (%)</th>
                    <th class="header_table proy_table" data-priority="1">Proy (%)</th>
                    <th class="header_table falta_table" data-priority="1">Falta (M$)</th>
                    <th class="header_table cod_table" data-priority="5">Código</th>
                    <th class="header_table dato_table" data-priority="6">Dirección</th>
                </tr>
            </thead>
</table>

JS

success: function(result) {
            $('#avance_actual').text("Avance tiempo "+result.valor+"%");

            var reporte_ordenado = groupBy(result.reporte, function(item){
              return [item.ACPP_Territorio];
            });
            //console.log(reporte_ordenado[0]);
            $.each(reporte_ordenado, function(index, result) {
                $.each(result, function(k, cliente){
                    if(cliente.ACPP_Tipo == 0){
                        var row_expand = '<tr class="header_table_expand expand">';
                        row_expand+= '<th class="cliente_table" colspan="1"><div class="div_client"><span class="sign" data-role="button" data-icon="delete"></span>'+ cliente.ACPP_Cliente+'</div></th>';
                        if(cliente.ACPP_Proforma < 50) //rojo
                            row_expand+= '<td class="real_table border_red">'+ cliente.ACPP_Proforma +'</td>';
                        else //verde
                            row_expand+= '<td class="real_table border_green">'+ cliente.ACPP_Proforma +'</td>';
                        row_expand+= '<td class="falta_table">'+ cliente.ACPP_Proyectado +'</td>';
                        row_expand+= '<td class="falta_table">'+ cliente.ACPP_Faltante +'</td>';
                        row_expand+= '<td></td>';
                        row_expand+= '<td></td>';
                        row_expand+= '</tr>';
                        $('#proforma').append(row_expand);
                    }else{
                        var row = '<tr>';
                        row+= '<td class="cliente_table"><div class="div_client">'+ cliente.ACPP_Cliente +'</div></td>';
                        if (cliente.ACPP_Proforma < 50) //rojo
                            row+= '<td class="real_table border_red">'+ cliente.ACPP_Proforma +'</td>';
                        else // verde
                            row+= '<td class="real_table border_green">'+ cliente.ACPP_Proforma +'</td>';
                        row+= '<td class="falta_table">'+ cliente.ACPP_Proyectado +'</td>';
                        row+= '<td class="falta_table">'+ cliente.ACPP_Faltante +'</td>';
                        row+= '<td class="cod_table">'+ cliente.ACPP_CodigoSAP +'</td>';
                        row+= '<td class="dato_table">'+ cliente.ACPP_Direccion +'</td>';
                        row+= '</tr>';
                        $('#proforma').append(row);
                    }   
                });
            });

        },
        error: function(xhr, status, error) {
            navigator.notification.alert(error);
        }

$(document).on('vclick', ".header_table_expand", function() {
  $(this).toggleClass('expand').nextUntil('tr.header_table_expand').slideToggle(100);
});

在这里让一些类似代码笔的东西,这样你就可以或多或少地看到我在做什么。

代码笔示例

4

0 回答 0