The javascript code for updating the datasource: (dropdownlist, numerictextbox, numerictextbox,textbox)
var
data = {
EmergencyCategoryID: emergency_cat.get_selectedItem().get_value(),
Injuries: emergency_inj.get_value(),
Casualties: emergency_cas.get_value(),
Description: emergency_desc.get_value(),
};
try
{
emergencyClientDataSource.update(data,emergency_data.ID);
}
catch
(e) {
console.log(e);
}
The javascript code for custom paramter:
function
EmergencyClientDataSource_OnCustomParameter(sender, args) {
console.log(
"Custom Emergency parameter: "
, sender, args);
var
data = args.get_data();
if
(!data) {
data = {};
}
data[
'username'
] = window.sessionStorage[
"username"
];
switch
(args.get_type()) {
case
"update"
:
var
update_data = {
username: data.username,
emergencyid: data.ID,
description: data.Description,
categoryid: data.EmergencyCategoryID,
injuries: data.Injuries,
casualties: data.Casualties,
}
args.set_parameterFormat(update_data);
break
;
}
console.log(data, args.get_parameterFormat());
};
RadClientDataSource:
<
telerik:RadClientDataSource
ID
=
"EmergencyClientDataSource"
runat
=
"server"
AutoSync
=
"true"
>
<
ClientEvents
OnDataParse
=
"EmergencyClientDataSource_OnDataParse"
OnChange
=
"EmergencyClientDataSource_OnChange"
OnCustomParameter
=
"EmergencyClientDataSource_OnCustomParameter"
/>
<
Schema
DataName
=
"Result"
ResponseType
=
"JSON"
ErrorsName
=
"ErrorMessage"
>
<
Model
ID
=
"ID"
>
<
telerik:ClientDataSourceModelField
FieldName
=
"ID"
DataType
=
"String"
Nullable
=
"true"
Editable
=
"False"
/>
<
telerik:ClientDataSourceModelField
FieldName
=
"EmergencyCategoryID"
DataType
=
"String"
Nullable
=
"false"
Editable
=
"False"
/>
<
telerik:ClientDataSourceModelField
FieldName
=
"Description"
DataType
=
"String"
/>
<
telerik:ClientDataSourceModelField
FieldName
=
"Casualties"
DataType
=
"Number"
/>
<
telerik:ClientDataSourceModelField
FieldName
=
"Injuries"
DataType
=
"Number"
/>
</
Model
>
</
Schema
>
</
telerik:RadClientDataSource
>
After I execute the update I get the following in the console:
emergencyid: 3287e04d-342c-411d-b95d-397af479b9e2 injuries: 5 casualties: 100 description: qwertyuhgfdsertyu categroyid: 81a93455-a9dc-4596-b4e4-2e64b4411d38
emergencyid: 3287e04d-342c-411d-b95d-397af479b9e2 injuries: 5 casualties: 5 description: qwertyuhgfdsertyu categroyid: 81a93455-a9dc-4596-b4e4-2e64b4411d38
emergencyid: 3287e04d-342c-411d-b95d-397af479b9e2 injuries: 5 casualties: 5 description: qwerty categroyid: 81a93455-a9dc-4596-b4e4-2e64b4411d38
response Object {ErrorMessage: null, IsSuccessful: true, Result: Object}
response Object {ErrorMessage: null, IsSuccessful: true, Result: Object}
response Object {ErrorMessage: null, IsSuccessful: true, Result: Object}
As you can see only as single field is modified at a time, and three requests are generated!