Czy ktoś był w stanie użyć metody setdatasource sieci Kendo UI? Sądzę, że jest to używane do przypisania źródła danych, które można przypisać do sieci na późniejszym etapie, a także do celów odświeżania sieci. Jednak nie mogłem znaleźć odpowiedniej dokumentacji wyjaśniającej, jak korzystać z tej metody i tworzyć odświeżaną siatkę.Jak korzystać z metody SetDataSource sieci Kendo UI
Próbuję zaktualizować moje źródło danych za pomocą zdalnego wywołania ajax. Zakładam też, że powinien on automatycznie odnawiać się, gdy źródło jest aktualizowane, ustawiając właściwość autosync na wartość true. Za każdym razem, gdy klikam kontrolkę kalendarza, przekazuję wartość daty do funkcji GetRemoteData, dzięki czemu dane są aktualizowane za pomocą żądania ajax.
To nie działa w tej chwili. Jakaś wskazówka co do tego rozwiązanie?
moim zdaniem
$('#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;
}
HI thedixon. Dziękuję za kod, ale próbuję zrobić to samo z Grid. Próbowałem wszystkich rodzajów opcji, ale żaden nie działał, dopóki nie natknąłem się na tę metodę o nazwie setDataSource. Czy byłbyś w stanie pokazać taki przykład dla Grid? Mogę opublikować mój kod, jeśli chcesz zobaczyć, gdzie może być odpowiedni. – Sike12
Tak, jeśli mógłbyś opublikować swój aktualny kod i to, co próbujesz zrobić, byłoby świetnie. –
Kod został już dołączony. – Sike12