2013-07-07 31 views
5

datatables.net jquery eklentisini kullanıyorum ve verileri asp.net mvc4 aracılığıyla kullanıyorum.Datatables.net tarih görüntüleme biçimi

Sütunlarımdan biri bir tarih biçimidir. Nasıl görüntülendiğine ilişkin biçimini değiştirmek istiyorum, ancak sütunun türünü dizinden dize olarak değiştirmiyorum.

Şu anda kullanarak varsayılan başlatma: My 4 sütunda bir tarih "Oluşturulma Tarihi" ve şu anda "2013/07/07 09:38:11 akşam saat" olarak görüntülenir

$('#data-table').dataTable(); 

"7/07/2013" veya "7 Jul 2013" olarak gösterilmesini istiyorum.

Bunun göreceli olarak kolay bir görev olduğunu düşünmüştüm ama cevap verdiğim cevabı bulamadım.

Mümkünse ek eklentilerden kaçınmak istiyorum. Eksik olduğum basit bir yol var mı?

+0

[Teşekkürler ”satırlarını atlamak için önerilir [http://meta.stackexchange.com/q/2950/172431] ve 'datatables' etiketleri [önerilmez] (http: //meta.stackexchange). com/Q/128285/172431). – madth3

cevap

15

İşte ortaya çıktık. Nasıl işlediğini kullanarak, tarihin istediğim şekilde görüntülenme şeklini değiştirebilirim.

Ben bu başkalarına yararlı olacağını umuyoruz
$('#data-table').dataTable({ 
    "aoColumnDefs": [ 
     { 
      "aTargets": [0], 
      "bSearchable": false, 
      "sType": 'date', 
      "fnRender": function (oObj) { 
       var javascriptDate = new Date(oObj.aData[0]); 
       javascriptDate = javascriptDate.getDate()+"/"+(javascriptDate.getMonth()+1)+"/"+javascriptDate.getFullYear(); 
       return "<div class='date'>"+javascriptDate+"<div>"; 
      } 
     } 
    ] 
}); 

...

+0

Sorunuzdaki 4. sütunu mu yoksa yanıtınızdaki gibi mi? – zygimantus

+1

@zygimantus, fark eder mi? Cevap, hangi sütun numarasına bakılmaksızın, tarihlerle nasıl başa çıkabileceğinizi anlamanızı sağlayacaktır. – PostureOfLearning

0

bir null DateTime kullanıyorsanız? , Eklentinin eski sürümü veya son kullanma İster

 $('#users-tbl').DataTable({ 
     columns: [ 
      { "data": "ID", "visible" : false}, 

      {"data": "MyDateField", 
      "type": "date ", 
      "render":function (value) { 
       if (value === null) return ""; 

        var pattern = /Date\(([^)]+)\)/; 
        var results = pattern.exec(value); 
        var dt = new Date(parseFloat(results[1])); 

        return (dt.getMonth() + 1) + "/" + dt.getDate() + "/" + dt.getFullYear();} 
      } 
     ]}; 
0

işlevi gitmek için yoludur işlemek: Farklı bir oluşturma işlevi kullanmak isteyeceksiniz. Bu noktadan o kadar çok veri toplayıcı (herhangi bir formatlama yapmaz) ve bir tarihi JavaScript'te biçimlendirmek için bir soru haline gelir.

Bunun için mükemmel moment.js library (kayaç katı, ~ 30k yıldız github, 100k + birim testleri; js'de zamanla uğraşmak için hemen hemen git) önerilir.