Jquery Datatable: добавленные данные не соответствуют известному количеству столбцов - PullRequest
0 голосов
/ 05 декабря 2011

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

var dataTable;
$(function () {
dataTable = $('#dataTable').dataTable({
        "bProcessing": true,
        "bServerSide": true,
        "iDisplayLength": 100,
        "sAjaxSource": "@Url.Action("Attendance", "Reports")",
        "aoColumnDefs": [
        {"bSortable":false,"aTargets":[1,2,3,4,5,6,7,8,9,10,11,12,13,14]},
        {"bSearchable":false,"aTargets":[1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
        ],
        "fnServerData":function(sSource, aoData,fnCallback){   
            var from= $('#DateSelect').val();
            var until= $('#DateSelect2').val();                
            aoData.push({"name":"From","value":from},{"name":"Until","value":until});                
            $.getJSON( sSource, aoData, function (json) {               
                fnCallback(json)
            });
        }           
    }).fnSetFilteringDelay(300);        
 });

Ниже приведен кодкнопка ввода, которая вызывает dataTable.fnDraw () при нажатии и работает нормально.Таким образом, в основном, единственная проблема здесь заключается в том, что визуализация представления в первый раз, поскольку dataTable пуста и отображается предупреждение.

Вот пример ответа jSon от контроллера к представлению, когда таблицапуст (выводит предупреждение):

 {"iTotalRecords":0,"iTotalDisplayRecords":0,"sEcho":1,"aaData":[[]]}

И это JSON после запроса некоторых результатов, работающих хорошо:

 {"iTotalRecords":17,"iTotalDisplayRecords":17,"sEcho":2,"aaData":[["Venue 1","<div align=center>30</div>","<div align=center>4</div>","<div align=center>13</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>3</div>","<div align=center>1</div>","<div align=center>7</div>","<div align=center>0</div>","<div align=center>3</div>","<div align=center>14</div>"],["Venue 2","<div align=center>41</div>","<div align=center>1</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>5</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>1</div>"],["Venue 3","<div align=center>20</div>","<div align=center>3</div>","<div align=center>15</div>","<div align=center>0</div>","<div align=center>5</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>8</div>","<div align=center>4</div>","<div align=center>4</div>","<div align=center>11</div>"],["Venue 4","<div align=center>46</div>","<div align=center>5</div>","<div align=center>10</div>","<div align=center>0</div>","<div align=center>5</div>","<div align=center>1</div>","<div align=center>20</div>","<div align=center>0</div>","<div align=center>7</div>","<div align=center>0</div>","<div align=center>15</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>28</div>"],["Venue 5","<div align=center>18</div>","<div align=center>9</div>","<div align=center>50</div>","<div align=center>2</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>10</div>","<div align=center>1</div>","<div align=center>3</div>","<div align=center>21</div>"],["Venue 6","<div align=center>10</div>","<div align=center>4</div>","<div align=center>40</div>","<div align=center>1</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>18</div>","<div align=center>3</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>4</div>","<div align=center>22</div>"],["Venue 7","<div align=center>44</div>","<div align=center>3</div>","<div align=center>6</div>","<div align=center>0</div>","<div align=center>7</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>1</div>","<div align=center>1</div>","<div align=center>4</div>"],["Venue 8","<div align=center>8</div>","<div align=center>1</div>","<div align=center>12</div>","<div align=center>1</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>6</div>","<div align=center>1</div>","<div align=center>2</div>","<div align=center>7</div>"],["Venue 9","<div align=center>23</div>","<div align=center>7</div>","<div align=center>30</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>8</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>15</div>"],["Venue 10","<div align=center>22</div>","<div align=center>1</div>","<div align=center>4</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>2</div>","<div align=center>1</div>","<div align=center>4</div>","<div align=center>1</div>","<div align=center>2</div>","<div align=center>7</div>"],["Venue 11","<div align=center>10</div>","<div align=center>2</div>","<div align=center>20</div>","<div align=center>1</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>5</div>","<div align=center>2</div>","<div align=center>10</div>","<div align=center>2</div>","<div align=center>5</div>","<div align=center>17</div>"],["Venue 12","<div align=center>17</div>","<div align=center>3</div>","<div align=center>17</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>4</div>","<div align=center>1</div>","<div align=center>1</div>","<div align=center>7</div>"],["Venue 13","<div align=center>23</div>","<div align=center>10</div>","<div align=center>43</div>","<div align=center>4</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>13</div>","<div align=center>1</div>","<div align=center>5</div>","<div align=center>23</div>"],["Venue 14","<div align=center>21</div>","<div align=center>2</div>","<div align=center>9</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>15</div>","<div align=center>1</div>","<div align=center>1</div>","<div align=center>17</div>"],["Venue 15","<div align=center>6</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>8</div>","<div align=center>1</div>","<div align=center>6</div>","<div align=center>0</div>","<div align=center>1</div>","<div align=center>14</div>"],["Venue 16","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>2</div>"],["Venue 17","<div align=center>25</div>","<div align=center>6</div>","<div align=center>24</div>","<div align=center>0</div>","<div align=center>2</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>0</div>","<div align=center>7</div>","<div align=center>3</div>","<div align=center>3</div>","<div align=center>13</div>"],["<b>TOTAL Venezuela</b>","<div align=center><b>364</b></div>","<div align=center><b>61</b></div>","<div align=center><b>16</b></div>","<div align=center><b>11</b></div>","<div align=center><b>35</b></div>","<div align=center><b>1</b></div>","<div align=center><b>2</b></div>","<div align=center><b>0</b></div>","<div align=center><b>47</b></div>","<div align=center><b>8</b></div>","<div align=center><b>114</b></div>","<div align=center><b>16</b></div>","<div align=center><b>35</b></div>","<div align=center><b>223</b></div>"]]}

Ответы [ 2 ]

2 голосов
/ 06 декабря 2011

Вы должны отправить обратно;

{"iTotalRecords":0,"iTotalDisplayRecords":0,"sEcho":1,"aaData":[]}

в противном случае он интерпретируется не как пустой массив, а как массив с одним элементом, который является пустым массивом

1 голос
/ 06 декабря 2011

попробуйте отправить обратно "aaData":[] вместо "aaData":[[]] (уберите внутренние скобки)

...