Kendo UI grille avec le grand ensemble de données
Je suis en train de Kendo UI et je suis en utilisant les exemples fournis pour l'étude de but. Supposons que je suis en utilisant une grande source de données de plusieurs centaines de milliers d'éléments. Si je suis en utilisant la pagination et la taille de la page 10, je voudrais vraiment être en mesure d'obtenir seulement 10 éléments de la page web et si Kendo UI a été en mesure de savoir qu'en réalité, le nombre d'éléments est beaucoup plus gros, mais nous montrons seulement 10.
C'est ce que j'ai actuellement:
var initGrid = true;
var grid2Data;
function getDataSource()
{
return grid2Data.Data;
}
var grid;
function getPageIndex()
{
if (!(grid)) {
return 0;
}
return grid.pager.page() - 1;
}
function getPageSize() {
if (!(grid)) {
return 10;
}
return grid.pager.pageSize();
}
function getFilters() {
if (!(grid)) {
return "";
}
return grid.dataSource.filter();
}
function getSorts() {
if (!(grid)) {
return "";
}
return grid.dataSource.sort();
}
function getParams() {
return getPageSize();
}
function postTest() {
if (initGrid) {
$.post('myurl' + getParams(), function (data) {
grid2Data = data;
$("#grid").kendoGrid({
dataBound: onDataBound,
dataSource: {
data: getDataSource(),
schema: {
model: {
fields: {
Email: { type: "string" },
FullName: { type: "string" },
LogCreateDate: { type: "date" },
RoleName: { type: "string" },
UserName: { type: "string" }
}
}
},
pageSize: 10
},
height: 300,
scrollable: false,
sortable: true,
filterable: true,
pageable: {
input: true,
numeric: false
},
columns: [
{
field: "Email",
title: "Email",
width: 100
},
{
field: "FullName",
title: "Full Name",
width: 100
},
{
field: "LogCreateDate",
title: "Created",
template: '#= kendo.toString(LogCreateDate,"MM/dd/yyyy") #'
},
{
field: "RoleName",
title: "Role",
width: 50
},
{
field: "UserName",
width: 100
}
]
});
grid = $("#grid").data("kendoGrid");
});
}
else {
}
initGrid = false;
}
$(document).ready(function () {
postTest();
});
Mon problème c'est que la grille est de montrer que c'est l'élément de 1 à 10 de 10 et c'est la première page. Je voudrais la grille pour me montrer une page d'index et de l'élément de comptage qui est donné par moi. Comment puis-je choisir le nombre d'éléments et l'index de la page de la grille? Est-ce possible? Merci.
Vous devez vous connecter pour publier un commentaire.
Lorsque vous choisissez
serverPaging
dans leDataSource
par la mise àtrue
. Vous récepteur dans le serveur d'informations sur le numéro de page (page
), la taille de la page (pageSize
), le nombre de lignes à sauter (skip
)... (cherchez serverPaging dans http://docs.kendoui.com/api/framework/datasource) et, en échange, vous devriez retourner non seulement le tableau avec les données de la page mais également le nombre total de lignes. Ensuite vous mettre enschema.total
la fonction pour accéder au nombre d'enregistrements. I. e. Supposons que vous retourner comme résultat l'objet suivant:Alors vous pourriez vous mettre en œuvre
schema.total
comme:Où
response
est l'objet reçu par le serveur.REMARQUE: en Fait dans ce cas serait assez définition de la
schema
comme:Depuis
total
est directement stocké danstotalRows
champ.Vérifier http://demos.kendoui.com/web/grid/remote-data.html pour un exemple.