¿Cómo hacer uso de render en datatable?

¿Cómo hacer uso de render en datatable?

4NDREW4NDREW Posts: 2Questions: 1Answers: 0

Estoy teniendo dudas respecto a como utilizar render en data table. Tengo una columna de estatus, lo cual en la base de datos se guarda como valor 1,2 y 3 lo que quiero que me muestre en mi columna estatus es que si el valor es igual a 1 muestre pendiente, 2 En proceso, y 3 terminado. Pero no logro como implementar el case. Espero puedan orientarme.

tablaReportes = $('#tablaReportes').DataTable({
"ajax":{
"url": "bd/reportes.php",
"method": 'POST',
"data":{opcion:opcion},
"dataSrc": ""
},
"columns":[
{"data": "id"},
{"data": "folio"},
{"data": "nombre"},
{"data": "apellido"},
{"data": "direccion"},
{"data": "descripcion_domicilio"},
{"data": "telefono"},
{"data": "num_contrato"},
{"data": "fecha_inicio"},
{"data": "fecha_final"},
{"data": "cuadrilla"},
{"data": "estatus",
"render": function(data){
var status_name = '';
switch(data)
{

              case 1: status_name = 'Pendiente'; break;
              case 2: status_name = 'En proceso'; break;
              case 3: status_name = 'Terminado'; break;
              default : status_name = 'Desconocido'; break;
            }
            return status_name;

          }
        },
        {"data": "observaciones"},
        {"data": "encargado_cuadrilla"},
        {"defaultContent": "<div class='text-center'><div class='btn-group'><button class='btn btn-primary btnEditar'>Editar</button><button class='btn btn-danger btnBorrar'>Borrar</button></div></div>"}

    ]

Lo que quisiera realizar, es algo como esto:
<td>
<?php
switch ($dat['estado']) {
case 1:
$dat['estado'] == '1';
echo '<span class="badge badge-danger">Pendiente</span>';
break;
case 2:
$dat['estado'] == '2';
echo '<span class="badge badge-warning">En proceso</span>';
break;
case 3:
$dat['estado'] == '3';
echo '<span class="badge badge-success">Terminado</span>';
break;
}
?>
</td>

Answers

  • 4NDREW4NDREW Posts: 2Questions: 1Answers: 0

    Encontré esta solución, no se si sea la mas optima, o si es mejor con un case.

    if (data == 1)
                    {data = "<span class='badge' style='background: red'>Pendiente</span>";}
                else if (data == 2)
                    {data = "<span class='badge' style='background: orange'>En proceso</span>";}
                else if (data == 3)
                    {data = "<span class='badge' style='background: green'>Terminado</span>";}     
                return data;
    
Sign In or Register to comment.