Как выполнить разбиение на страницы на стороне клиента для отфильтрованных данных
YAHOO.util.Event.addListener("genes", "change", function(e) { var value = YAHOO.util.Event.getTarget(e).value; if(YAHOO.lang.isValue(value)) { myDataTable.getDataSource().sendRequest(null, { success:function(request, response, payload)) { this.initializeTable();
var rs = response.results;
var filtered = [];
for(var i = 0; i < rs.length; i++) {
//alert(rs[i].gene);
if(rs[i].gene == value) {
filtered[filtered.length] = rs[i];
}
}
this.getRecordSet().setRecords(filtered, 0);
this.render();
},
scope:myDataTable,
argument:null
});
}
});
Это мой код для фильтрации данных. я получаю данные отлично, когда я изменяю выбор для выбора. но нумерация страниц не работает, она отображается как "0", даже если отображаются записи.
Может кто-нибудь PLZ предложить мне.
Спасибо!!
1 ответ
Вы можете попробовать это:
dobMenuButton.subscribe("selectedMenuItemChange",function(e) {
var value =e.newValue.value;
if(YAHOO.lang.isValue(value)) {
myDataTable.getDataSource().sendRequest(null, {
success:function(request, response, payload) {
this.initializeTable();
var rs = response.results;
var filtered = [];
for(var i = 0; i < rs.length; i++) {
if(((rs[i].dateOfBirth).format("MM/dd/yyyy")) == value) {
filtered[filtered.length] = rs[i];
}
}
this.getRecordSet().reset();
MCMPagination.paginatorvar.setTotalRecords(filtered.length,true);
this.getRecordSet().setRecords(filtered, 0);
this.render();
},
scope:myDataTable,
argument:myDataTable.getState()
});
}
});