2011-09-09 6 views
1

마지막 행 데이터에 데이터가없는 테이블을 데이터 테이블에 만들려고합니다. 나는 국경으로 빈 채로두고 싶다. 지금 당장 나는 각 페이지에서 10 행의 데이터를 볼 수있다. 데이터는 첫 번째와 두 번째 페이지가 4 개의 행을 갖는 3 페이지로 들어가고 세 번째 페이지에 도달하면 두 개의 데이터 만 있고 다른 하나는 공백으로 남습니다. 나는 테이블을 만들고 데이터를 가져오고 싶지만 데이터 테이블은 내 코드에서 테이블을 생성하고있다. 단서 누군가가 어떻게 내가 마지막 두 행을 비워두고 볼 수있는 것이 좋습니다. 데이터 테이블에 빈 행을 만듭니다.

var dataSet = []; 
for(var i = 0; i < data.response.docs.length; i++) 
{ 

    var d = data.response.docs[i]; 


      var minPrice = d.min_price; 
      var minPrice = d.shipping; 
      var seller_rating = d.rating; 
      var product_rating = d.product_rating; 
      var total = minPrice + shipping; 
      var ships_on = 'n/a'; 
      var delivered_by = 'n/a'; 

      dataSet.push([{ 'url': d.url}, 
          total, 
          minPrice + '+' + shipping, 
          ships_on, delivered_by, 
          seller_rating, product_rating]); 
     } 
     $('#data_table').dataTable({ 
      "aaData": dataSet, 
      "aaSorting": [[0,'asc'],[0,'desc'],[2,'asc'],[2,'desc'],[3,'asc'],[3,'desc'],[4,'asc'],[4,'desc'],[5,'asc'],[5,'desc'],[6,'asc'],[6,'desc'],[7,'asc'],[7,'desc']], 
      "iDisplayLength": 4,    
      "bInfo": true, 
      "bLengthChange": false, 
      "bJQueryUI": true, 
      "bPaginate": true, 
      "bAutoWidth": false, 
      "sPaginationType": "full_numbers", 
      "bAutoWidth": true, 
      "aoColumns": [ 
       { "sTitle": "Seller", 
        "sWidth": "155px", 
        "sClass": "grey" , 
        "fnRender": function(obj) { 
         var data = obj.aData[ obj.iDataColumn ]; 
         return "<A href='"+ data.url +"'>"+ data.title +"</A>"; 
        } 

       },//, "sWidth": "130px" 
       {"sTitle": "Item Matched","sWidth": "100px","sClass":"center yellow","bSortable": false, 
        "fnRender": function (obj) {        
         //var img = obj.aData[obj.iDataColumn];      
         var data = obj.aData[obj.iDataColumn]; 
         return "<img width='90px' height='50px' src='" + data.image + "'/><br>"+ data.name.slice(0,25); 
        } 
       }, 
       { "sTitle": "Total Price(in $)","sClass": "center grey" }, 
       { "sTitle": "Price + Shipping(in $)","sClass": "center yellow" }, 
       { "sTitle": "Ships On", "sClass": "center grey" }, 
       { "sTitle": "Delivered By","sClass": "center yellow" }, 
       { 
        "sTitle": "Seller rating", 
        "sClass": "center grey", 
        "fnRender": function(obj) { 
         var sReturn = obj.aData[ obj.iDataColumn ]; 
         var val = obj.aData[ obj.iDataColumn ]; 
         if (sReturn != "N/A") { 

          $('#fixed').raty({ 
            readOnly: true, 
            start:  val 
           }); 

          sReturn = $('#fixed').html(); 
          $('#fixed').html(""); 
         } 
         return sReturn; 
        } 
       },   
     }); 

나는 단지 그들이 데이터를 가지고 또는 마지막 두 행을 볼 수 휘터가되고 싶지


if(dataSet != '' || no/4 != 0) 
     { 

     //alert(no); 
     var minPrice = 0; 
     var shipping = 0; 
     var seller_rating = 0; 
     var product_rating = 0; 
     var ships_on = 'n/a'; 
     var delivered_by = 'n/a'; 
     var total = minPrice + shipping; 
     var a = no%4; 
     for(var i=0;i<(4-a);i++) 
     { 

     dataSet.push([{'title': '', 'url': ''}, 
          {'image': '', 'name': ''}, 
          '0', 
          '0', 
          'n/a', 'n/a', 
         '0', '0']); 
     } 
     } 
     $('#data_table').dataTable({ 
      "aaData": dataSet , 
      "bSort":true, 
      "aaSorting": [[0,'desc'],[0,'asc'],[2,'asc'],[2,'desc'],[3,'asc'],[3,'desc'],[4,'asc'],[4,'desc'],[5,'asc'],[5,'desc'],[6,'asc'],[6,'desc'],[7,'asc'],[7,'desc']], 
      "iDisplayLength": 4,    
      "bInfo": true, 
      "bLengthChange": false, 
      "bJQueryUI": true, 
      "bPaginate": true, 
      "bAutoWidth": false, 
      "sPaginationType": "full_numbers", 
      "bAutoWidth": true, 
      "aoColumns": [ 
       { "sTitle": "Seller", 
        "sWidth": "155px", 
        "sClass": "grey" , 
        "fnRender": function(obj) { 
         var data = obj.aData[ obj.iDataColumn ]; 
         return "<a href='"+ data.url +"'>"+ data.title +"</a>"; 
        } 

       } 

그것의 데이터를 보유하고 비어되지 않은 두 개의 행을 생성. 두 개의 빈 행을 만듭니다. 각 페이지마다 4 개의 데이터가있는 데이터가 필요했습니다. 그래서 메신저 난 당신이 만드는 그러나 당신이 패드 빈 값으로 데이터 집합을 할 수있는 사용 된 데이터 테이블 플러그인 모르는 4.

답변

0

의 mutiples에서 그것을 사용하여 작동 :

var dataset = ['1','2','3','4','5','6','7','8','9']; 
var rowCount = 4; 
var mod = dataset.length%rowCount; 

if(mod) { 
    for(var i=mod; i<rowCount;i++) { 
     dataset.push('') 
    } 
} 

http://jsfiddle.net/bsrykt/JJtNN/

대답은
+0

에 감사드립니다. 그러나 그것은 datatables와 함께 작동하지 않을 것이다. – gargi

관련 문제