Comment utiliser SetDataSource Méthode du Kendo UI Grille
Quelqu'un a été en mesure d'utiliser setdatasource méthode du kendo UI grille? Je crois que c'est utilisé pour attribuer la source de données qui peut être attribué à la grille au plus tard et aussi pour la grille de fins d'actualisation. Cependant, je ne pouvais pas trouver une documentation qui explique comment utiliser cette méthode et de faire des afficheurs de la grille.
Je suis en train de mettre à jour ma source de données à distance via appel ajax. Je suppose également qu'il devrait l'autorefresh lorsque la source est mise à jour par le réglage de la synchronisation automatique true à la propriété. Chaque fois que je clique sur le calendrier de contrôle, je passe à une valeur de date pour la GetRemoteData fonction afin que la mise à jour des données via une requête ajax.
Cela ne fonctionne pas pour le moment. Aucune idée de quelle est la solution pour cela?
Mon Point De Vue
$('#calendarContainer').kendoCalendar({
format: "dd/MM/yyyy",
culture: "en-GB",
change: onDateChange
});
function onDateChange() {
var selectedDate = kendo.toString(this.value(), 'dd/MM/yyyy');
GetRemoteData(selectedDate);
/*
$("#grid").data("kendoGrid").dataSource.data(bob);
$("#grid").data("kendoGrid").dataSource.read();
*/
}
$('#grid').kendoGrid({
dataSource:GetRemoteData(date),
scrollable: {
virtual: true
},
navigatable: true,
groupable: true,
sortable: true,
selectable: "row",
pageable: true,
pageable: {
input: true,
numeric: false
},
resizable: true,
reorderable: true,
filterable: {
extra: false
},
columns: [
{
field: "DealNumber",
width: 150,
title: "DealNumber",
filterable: {
operators: {
string: {
startswith: "Starts With",
contains: "Contains"
}
}
},
},
{
field: "DealIssuer",
width: 150,
title: "Issuer",
filterable: {
operators: {
string: {
startswith: "Starts With",
contains: "Contains"
}
}
}
},
{
field: "Ticker",
width: 150,
title: "Ticker",
filterable: {
operators: {
string: {
startswith: "Starts With",
contains: "Contains"
}
}
}
},
{
field: "DealType",
width: 150,
title: "Type",
filterable: {
operators: {
string: {
startswith: "Starts With",
contains: "Contains"
}
}
}
},
{
field: "DealValue",
width: 150,
title: "Value",
filterable: {
operators: {
string: {
startswith: "Starts With",
contains: "Contains"
}
}
}
},
{
field: "DealStatus",
width: 150,
title: "Status",
filterable: {
operators: {
string: {
startswith: "Starts With",
contains: "Contains"
}
}
}
},
{
field: "DealPricingCompletionDate",
width: 230,
title: "DealPricingCompletionDate",
format: "{0:dd/MM/yyyy}",
// template: '#= kendo.toString(StartDate, "dd/MM/yyyy") #',
filterable: {
ui: "datetimepicker",
operators: {
date: {
gt: "After",
lt: "Before",
eq: "Equals"
},
messages: {
filter: "Apply",
clear: "Clear"
}
}
}
},
{
command: { text: "View Details", click: showDetails }, title: " ", width: "140px"
},
],
editable: "popup",
height: 600
}).data("kendoGrid");
function GetRemoteData(date) {
var chosenDate;
if (typeof date == "undefined") {
chosenDate = "12-12-2013";
}
else {
chosenDate = date;
}
var source = new kendo.data.DataSource({
autoSync: true,
transport: {
read: {
type: "GET",
url: "http://localhost:35798/RestServiceImpl.svc/GetDealData",
dataType: "jsonp",
contentType: "application/json; charset=utf-8",
cache: false,
},
parameterMap: function (data, type) {
var data = {
startDate: chosenDate
}
return data;
}
},
schema: {
model: {
fields: {
DealNumber: { type: "string" },
DealIssuer: { type: "string" },
Ticker: { type: "string" },
DealType: { type: "string" },
DealValue: { type: "number" },
DealStatus: { type: "string" },
DealPricingCompletionDate: { type: "date" }
}
}
},
pageSize: 16
});
source.fetch(function () {
var data = this.data();
});
return source;
}
OriginalL'auteur Sike12 | 2013-04-15
Vous devez vous connecter pour publier un commentaire.
Ce que vous avez essayé jusqu'à présent? C'est assez basique.
Exemple:
Ce n'est évidemment va être différent pour n'importe quel scénario que vous avez.
Mise à jour de la Grille
Ou, utiliser cette source de données avec une autre grille?
Yep, si vous pouviez poster votre code actuel et ce que vous êtes en train de faire, ce serait sympa.
Le code a été inclus maintenant
Mise à jour de ma réponse, toujours pas à 100% sûr de ce que vous essayez d'atteindre, mais qui devrait vous diriger dans la bonne direction.
Je vous remercie beaucoup. Je vais voir si je peux me rafraîchir la grille de données contenu dynamiquement avec votre suggestion.
OriginalL'auteur Chris Dixon
Si vous souhaitez définir la setDataSource autre façon de faire est de créer une source de données à partir de l'objet renvoyé par votre requête ajax comme c'est expliquer dans la suite de LIEN par Brett
Le réseau doit être configuré pour afficher l'objet retourné.
OriginalL'auteur freedeveloper