2013-11-01 27 views
7

Datatables.js kullanan bir html tablosu var ve koşullu biçimlendirmenin nasıl uygulanacağına dair net bir örnek bulamadık. değeri == 0 ve sütunun 5'de değer! = 0Datatables.js kullanarak koşullu biçimlendirme nasıl uygulanır?

<script> 
     $(document).ready(function() { 
     $("#GeneratedData").dataTable({ 
      "sDom": 'T<"clear">lrtip', 
      "oTableTools": { 
      "sSwfPath": "http://localhost:5637/Content/swf/copy_csv_xls_pdf.swf" 
      }, 
      "sPaginationType": "full_numbers" 
     }); 
     }) 
</script> 

cevap

11

Güncelleme olduğunda

nasıl sütunda 4'te bir hücrenin metin rengini değiştirebilir. Orijinal cevap dataTables 1.9.x'i hedefliyordu. Hala çalışır ve datatables yanı (şimdiye kadar) 1.10.x ile çalışır ama burada saf datatables 1.10.x sürümü:

var table = $('#example').DataTable({ 
    rowCallback: function(row, data, index) { 
    if (data[3]=='0' && data[4]!='0') { 
     $(row).find('td:eq(3)').addClass('color') 
    } 
    } 
}) 

demo ->http://jsfiddle.net/2chjxduy/


Gitmelisiniz Bunun için fnRowCallback olayını kullanın. Dokümanlar:

Bu fonksiyon 'sonrası süreçte' her tablo beraberlik için oluşturulan olmuştur sonra her satır için sipariş edilmiş, ancak ekranda oluşturulmadan önce. Bu fonksiyon sizin durumunuzda vb Yani

satır sınıf adını ayarlamak için kullanılabilecek Bunu yapmak:

$("#GeneratedData").dataTable({ 
    //your settings as above here 
    fnRowCallback: function(nRow, aData, iDisplayIndex, iDisplayIndexFull) { 
     if ($(nRow).find('td:eq(3)').text()=='0' && 
      $(nRow).find('td:eq(4)').text()!='0') { 
       $(nRow).find('td:eq(3)').addClass('color'); 
      } 
    } 
}); 

color önceden tanımlanmış bir CSS sınıftır. Bu jsfiddle ->http://jsfiddle.net/GfNeA/

+0

İçindekilere bakın Geçerli sürümdeki seçeneklere göre ayarlandığında, biz de "createdRow", yani * daha verimli olabiliriz). Her iki seçenek için de bağlantılar: https://datatables.net/reference/option/createdRow https://datatables.net/reference/option/rowCallback – edmundo096

İlgili konular