2010-05-06 17 views
29

Tengo una pregunta sobre la configuración de los atributos de estilo para una celda de datos en el jQuery.DataTable. Yo era capaz de establecer el ancho para cada columna en la inicialización del dataTable usando el siguiente código:¿Cómo se cambia el estilo de la celda en una JQuery.DataTable?

oTable = $('#example').dataTable({ 
    "aoColumns" : [ 
     { sWidth: '40%' }, 
     { sWidth: '60%' } 
    ] 
}); 

Ahora quiero cambiar la alineación para la segunda columna, así: style="text-align: right;".

Estoy añadiendo filas dinámicamente utilizando este código:

/* Global var for counter */ 
var giCount = 2; 

function fnClickAddRow() { 
    oTable.fnAddData([ 
     'col_1', 
     'col_2' ]); 

    giCount++; 
} 

¿Puede usted decirme cómo puedo seleccionar la segunda celda de la nueva fila después de que se ha insertado O cómo configurar el estilo de la fila antes/durante la inserción?

¡Cualquier ayuda sería muy apreciada!

Respuesta

47

Genial, me complace informar que pude responder mi propia pregunta. Me acaba de definir un estilo CSS (bside), y añadí el estilo a la columna de este modo:

<style media="all" type="text/css"> 
    .alignRight { text-align: right; } 
</style> 

oTable = $('#example').dataTable({ 
    "aoColumns" : [ 
     { sWidth: '40%' }, 
     { sWidth: '60%', sClass: "alignRight" } 
    ] }); 
+0

extraño que el código anterior funcionaba sólo cuando también han añadido los siguientes: { "className": "aTargets" "dt-centro": ""} _todas – Diganta

10

también se puede usar algo como eso a otro tipo de personalizaciones: dentro fnRender puede insertar la etiqueta, palmo, y establecer la clase o el estilo del elemento dentro de esta "td"

"aoColumns": [ 
        { "sTitle": "Ativo","sClass": "center","bSearchable": true, 
         "fnRender": function(obj) { 
          var sReturn = obj.aData[ obj.iDataColumn ]; 
          return "<a href=\"/"+sReturn.toLowerCase()+"\" class=\"tag\">/"+sReturn.toLowerCase()+"</a>"; 
         }     
        }, 
8
$('#tblAssignment tr td:nth-child(1)').addClass('rightaligned'); 
4

este es el código que funcionó para mí:

<style> 
    #tableExample .classDataTable { font-size: 20px; } 
</style> 

oTable = $('#tableExample').dataTable({ 
    "aoColumns" : [ 
     { sWidth: '40%' }, 
     { sClass: "classDataTable" } 
    ] }); 
6

De manera rápida y fácil sería agregar una clase nth-child para la tabla. Así, en su caso:

#example td:nth-child(2) { 
    text-align: right; 
} 
Cuestiones relacionadas