Если вы хотите настраивать поведение, используйте метод sendRequest объекта DataSable источника данных dataTable
(function() {
var YdataTable = YAHOO.widget.DataTable,
YdataSource = YAHOO.util.DataSource;
var settings = {
container:"<DATATABLE_CONTAINER_GOES_HERE>",
source:"<URL_TO_RETRIEVE_YOUR_DATA>",
columnSettings:[
{key:"id", label:"Id"}
],
dataSourceSettings:{
responseType:YdataSource.TYPE_JSON,
responseSchema:{
resultsList:"rs",
fields:[
{key:"id"}
]
}
},
dataTableSettings:{
initialLoad:false
}
}
var dataTable = new YdataTable(
settings.container,
settings.columnSettings,
new YdataSource(
settings.source,
settings.dataSourceSettings),
settings.dataTableSettings);
})();
имейте в виду Независимо от того, какой источник является вашими данными: XML, JSON, объект JavaScript, TEXT, вы всегда получите свои данные в унифицированном виде с помощью метода sendRequest DataSource. Поэтому, когда вы хотите получить свои данные и одновременно добавить пользовательское поведение, используйте его
dataTable.getDataSource().sendRequest(null, {
success:function(request, response, payload) {
if(response.results.length == 0) {
// No data returned
// Do what you want right here
// You can, for instance, hide the dataTable by calling this.setStyle("display", "none");
} else {
// Some data returned
// If you want to use default the DataTable behavior, just call
this.onDataReturnInitializeTable(request, response, payload);
}
},
scope:dataTable,
argument:dataTable.getState()
});
Свойства ответа
- results (Array): Ваш источник данных унифицирован. Для каждого объекта в массиве результатов, Существует свойство в соответствии со свойством fields responseSchema. Обратите внимание, что я использую response.results.length , чтобы проверить, были ли возвращены некоторые данные
- ошибка (логическое значение): указывает на ошибку данных
- cached (Boolean): указывает кэшированный ответ
- мета (объект): метаданные, проанализированные схемой
На странице YUI dataTable найдите Загрузка данных во время выполнения , чтобы увидеть некоторые встроенные функции, предоставляемые YUI dataTable
Я надеюсь, что это может быть полезно, и не стесняйтесь обращаться за помощью ко всему, что вы хотите о YUI. См. демонстрационную страницу полезных функций YUI dataTable