I am attempting to develop a solution based on the example provided at:
As such, I am using BatchMode editing, binding a client datasource and all insert, update, delete done by calling Web Services from the clientside.
The grid is retrieving and displaying data successfully. I can update records and delete records, with the respective Web Services being called to update and delete successfully.
However, when I "Add new record", type in values, and hit "Save Changes", I can see in Chrome developer mode that there is no call to the Web Service so my data is not actually saved. There are no errors in the console either.
   <telerik:RadGrid RenderMode="Lightweight" ID="RadGrid1" runat="server" AllowPaging="false" AllowSorting="true" AllowFilteringByColumn="false" ClientDataSourceID="RadClientDataSource1" >        <MasterTableView ClientDataKeyNames="KeyName" EditMode="Batch" CommandItemDisplay="Top" BatchEditingSettings-HighlightDeletedRows="true" >            <Columns>                <telerik:GridBoundColumn DataField="KeyName" HeaderText="Parameter" DataType="System.String" HeaderStyle-Font-Bold="true" />                <telerik:GridBoundColumn DataField="KeyValue" HeaderText="Value" DataType="System.String" HeaderStyle-Font-Bold="true" />                <telerik:GridBoundColumn DataField="KeyType" HeaderText="Type" DataType="System.String" HeaderStyle-Font-Bold="true" />                <telerik:GridBoundColumn DataField="Description" HeaderText="Description" DataType="System.String" HeaderStyle-Font-Bold="true" />                <telerik:GridBoundColumn DataField="SplitPassword" HeaderText="Split Password" DataType="System.String" HeaderStyle-Font-Bold="true" />                <telerik:GridClientDeleteColumn HeaderText="Delete" HeaderStyle-Width="70px" HeaderStyle-Font-Bold="true" />            </Columns>        </MasterTableView>        <ClientSettings>            <Scrolling AllowScroll="true" UseStaticHeaders="true" ScrollHeight="500px" />        </ClientSettings>    </telerik:RadGrid>    <telerik:RadClientDataSource ID="RadClientDataSource1" runat="server" AllowBatchOperations="true">            <ClientEvents OnCustomParameter="ParameterMap" />            <DataSource>                <WebServiceDataSourceSettings BaseUrl="API/SysParm.asmx/">                    <Insert Url="InsertSystemParameters" RequestType="Post" ContentType="application/json" DataType="JSON" />                    <Select Url="GetSystemParameters" RequestType="Post" ContentType="application/json" DataType="JSON" />                    <Update Url="UpdateSystemParameters" RequestType="Post" ContentType="application/json" DataType="JSON" />                    <Delete Url="DeleteSystemParameters" RequestType="Post" ContentType="application/json" DataType="JSON" />                </WebServiceDataSourceSettings>            </DataSource>            <Schema ResponseType="JSON" DataName="d" >                <Model ID="KeyName">                    <telerik:ClientDataSourceModelField FieldName="KeyName" DataType="String" />                    <telerik:ClientDataSourceModelField FieldName="KeyValue" DataType="String" />                    <telerik:ClientDataSourceModelField FieldName="Description" DataType="String" />                    <telerik:ClientDataSourceModelField FieldName="KeyType" DataType="String" />                    <telerik:ClientDataSourceModelField FieldName="SplitPassword" DataType="String"  />                </Model>            </Schema>            <SortExpressions>                <telerik:ClientDataSourceSortExpression FieldName="KeyName" SortOrder="Desc" />            </SortExpressions>    </telerik:RadClientDataSource>
 
This is an example of a record in the dataset:
 
{    "d": [{        "__type": "CAMAPI.SystemParameter",        "KeyName": "AD_GROUPS_APP_ID",        "KeyValue": "2",        "Description": "",        "KeyType": "APP_ID",        "SplitPassword": ""    }]} 
My ParameterMap function is as follows:
function ParameterMap(sender, args) {    if (args.get_type() != "read" && args.get_data()) {        var data = "{ \"parameters\": " + JSON.stringify(args.get_data().models) + "}";        args.set_parameterFormat(data);    }}
Can you see anything to explain why inserts are not working?
