Hello,
I have 2 autocomplete and 2 dropdowns in kendo MVVM layout.
the ViewModel is inside a function making it non-global.
function
GetPricingPCCSourceDS(optionfilters) {
return
new
kendo.data.DataSource({
transport: {
read: {
type:
"POST"
,
url: rootUrl(
"GetData/GetPricingPCC"
),
dataType:
"json"
,
data: { OptionFilters: optionfilters ==
null
?
null
: optionfilters.toJSON() }
}
},
serverFiltering:
true
});
}
function
GetValidatingCarrierDS(e) {
return
new
kendo.data.DataSource({
transport: {
read: {
url: rootUrl(
"GetData/GetAirLines"
),
dataType:
"json"
}
},
serverFiltering:
true
});
}
function
GetSupplierSourceDS(bookingPccId) {
return
new
kendo.data.DataSource({
transport: {
read: {
url: rootUrl(
"GetData/GetSuppliersForPricing"
),
dataType:
"json"
,
data: { officeId: bookingPccId }
}
},
serverFiltering:
true
});
}
function
TaskSuccess(){
var
ViewModel = kendo.observable({
PricingTemplateSource:
function
() {
return
new
kendo.data.DataSource({
transport: {
read: {
url: rootUrl(
"Fare/GetPricingTemplatestest"
),
dataType:
"json"
,
data:
function
(e) {
return
{
optionFilters: JSON.stringify(ImportPNRPricingViewModel.OptionFilters),
validatingCarrier: JSON.stringify(ImportPNRPricingViewModel.OptionFilters
.ValidatingCarrier)
};
}
}
},
group: [{ field:
"FareOwner"
}],
serverFiltering:
true
});
},
PricingPccSource:
function
(e) {
var
optionfilters =
this
.OptionFilters;
return
GetPricingPCCSourceDS(optionfilters);
},
FareOptionsSupplierSource:
function
(e) {
var
bookingPccId =
this
.OptionFilters.BookingPccInformation.get(
'PccId'
);
return
GetSupplierSourceDS(bookingPccId);
},
ValidatingCarrierSource:
function
(e) {
return
GetValidatingCarrierDS(e);
}
});
}
Some of DataSource requires input values to be passed. The UI works but thing is When i change autocomplete value or any DropDownList selection , the 2 DropDownList DataSource fires Read ajax calls again .
I could have made the Dojo sample but i didnt found any url that could have data as parameter in datasource