создать пустые строки в таблицах данных - PullRequest
1 голос
/ 09 сентября 2011

Я хочу создать таблицу в таблицах данных, в которой нет данных в последних строках данных. Я хочу оставить это пустым с границами. Прямо сейчас я, когда я 10 строк данных 4 на каждой странице. данные попадают на 3 страницы, где первая и вторая страницы имеют 4 строки, и когда мы достигаем третьей страницы, остается только две данные, а другое пространство остается пустым. Я хочу создать таблицу, а затем получить данные, но Dataatable создает таблицу в моем коде так. кто-нибудь может подсказать, как я могу оставить последние две строки пустыми и видимыми.

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.

1 Ответ

0 голосов
/ 09 сентября 2011

Я не знаю, какой плагин с данными можно использовать, но вы можете дополнить свой набор данных пустыми значениями, чтобы он заработал:

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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...