Как определить, когда jQuery datatable создается и загружается данными

Я использую последнюю версию таблиц данных jQuery. Существует ли функция обратного вызова, которую можно использовать сразу после загрузки и отображения данных в таблице данных?

У меня есть таблица данных, с которой я экспериментирую в IE8. У меня есть 2 набора данных, которые я тестирую (из которых я просто использую по одному). У меня есть массив JavaScript и набор данных, которые я получаю из вызова Ajax. Я использую ASP.NET MVC 3.

Конфигурация, которая получает свои данные из вызова Ajax:

$('#banks-datatable').dataTable({
     "bProcessing": true,
     "sAjaxSource": '/Administration/Bank/List',
     "aoColumns": [
          { "sTitle": "Engine" },
          { "sTitle": "Browser" },
          { "sTitle": "Platform" },
          { "sTitle": "Version" },
          { "sTitle": "Grade" }
     ],
     "bAutoWidth": false,
     "bFilter": false,
     "bLengthChange": false,
     "iDisplayLength": 10
});

alert('test');

При загрузке моей таблицы данных таким образом создается таблица данных (без данных), отображается окно обработки и всплывающее окно предупреждения. На этом этапе таблица данных находится там, но данные не были загружены в таблицу данных. Только когда всплывающее окно исчезает (когда я нажимаю кнопку Ok во всплывающем окне), данные загружаются в таблицу данных. Почему?

Конфигурация, которая получает данные из массива JavaScript:

var aDataSet = [
     ['Trident', 'Internet Explorer 4.0', 'Win 95+', '4', 'X'],
     ['Trident', 'Internet Explorer 5.0', 'Win 95+', '5', 'C'],
     ['Trident', 'Internet Explorer 5.5', 'Win 95+', '5.5', 'A'],
     ['Trident', 'Internet Explorer 6', 'Win 98+', '6', 'A'],
     ['Trident', 'Internet Explorer 7', 'Win XP SP2+', '7', 'A'],
     ['Trident', 'AOL browser (AOL desktop)', 'Win XP', '6', 'A'],
     ['Gecko', 'Firefox 1.0', 'Win 98+ / OSX.2+', '1.7', 'A']
];

$('#banks-datatable').dataTable({
     "aoColumns": [
          { "sTitle": "Engine" },
          { "sTitle": "Browser" },
          { "sTitle": "Platform" },
          { "sTitle": "Version" },
          { "sTitle": "Grade" }
     ],
     "bAutoWidth": false,
     "bFilter": false,
     "bLengthChange": false,
     "iDisplayLength": 10,
     "aaData": aDataSet
});

alert('test');

Создается таблица данных и загружается данные, после чего отображается только всплывающее окно. Это отличается от первого сценария. Почему это так?

Если я пойду с первым сценарием, есть ли способ определить, когда таблица данных была создана и загружена данными?

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

15
задан Brendan Vogt 13 June 2012 в 16:17
поделиться