Wie zu verwenden SetDataSource-Methode der Kendo UI Grid
Hat jemand in der Lage gewesen, setdatasource-Methode der kendo UI grid? Ich glaube, dies dient der Zuordnung der datasource zugewiesen werden können, um das raster auf der später die Bühne und auch für grid-refresh Zwecke. Aber ich konnte keine richtige Dokumentation, die erläutert, wie diese Methode und machen aktualisierbare raster.
Ich versuche zu aktualisieren meine datasource per remote-ajax-call. Ich habe auch angenommen, dass es sollte automatisch aktualisiert werden sollen, wenn die Quelle aktualisiert wird, indem die autosync-Eigenschaft auf true. Jedesmal, wenn ich auf das Kalender-Steuerelement ich pass in einen date-Wert um die GetRemoteData-Funktion, so dass die Daten aktualisiert werden, die über die ajax-Anfrage.
Dieser nicht funktioniert im moment. Keine Ahnung, was die Lösung für dieses?
Meiner Sicht
$('#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;
}
- Kendo-die Dokumentation ist erstaunlich, so lange wie Sie eine website, die dem Benutzer auswählen können, äpfel und Bananen und tut absolut nichts von wirklichem Wert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was haben Sie bisher ausprobiert? Das ist ziemlich einfach.
Beispiel:
Natürlich ist dies alles anders für welches Szenario Sie haben.
Update für Grid
Oder verwenden diese dataSource mit einem anderen Netz?
Wenn Sie möchten, legen Sie die setDataSource andere Möglichkeit ist das erstellen einer Datenquelle, aus der das Objekt zurückgegeben, die durch Ihre ajax-request wie ist zu erklären, in der folgenden LINK von Brett
Natürlich das Netz muss konfiguriert werden, um zu zeigen, das zurückgegebene Objekt.