editor & dataSource
HTML
<script src="http://cdn.kendostatic.com/2012.2.710/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.2.710/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.2.710/styles/kendo.default.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.2.710/styles/kendo.mobile.all.min.css">
<div id="ContactsDetails" >
<ul>
<li>
<label>ID</label>
<span data-bind="text:selectedContact.ContactID, events: { change: change }"></span>
</li>
<li>
<label>Name</label>
<input type="text" class="k-textbox" data-bind="value: selectedContact.FirstName, events: { change: change }" />
</li>
<li>
<label>UnitPrice</label>
<input type="text" class="k-textbox" data-bind="value: selectedContact.LastName, events: { change: change }" />
</li>
</ul>
<button data-bind="click: goToContactsListing">Back to Listing</button>
<button data-bind="click: saveChanges, enabled: hasChanges">Save Changes</button>
</div>
JavaScript
function Contacts_Details_ViewModel(SelectedContactID) {
var self = this;
var selectedContact;
var selectedContactID = SelectedContactID;
var contacts_Details_DataSource = new kendo.data.DataSource({
data: [
{
ContactID: 1,
FirstName: "John",
LastName: "Smith"
}
],
change: function () {
selectedContact = this.view()[0];
},
schema: {
model: {
id: "ContactID"
}
}
});
contacts_Details_DataSource.read();
var goToContactsListing = function () {
console.log("goToContactsListing");
//this.selectedContactID = null;
//location.hash = ''
}
var change = function () {
console.log("change");
this.set("hasChanges", true);
}
var hasChanges = false;
var saveChanges = function () {
contacts_Details_DataSource.sync();
this.set("hasChanges", false);
}
return {
contacts_Details_DataSource: contacts_Details_DataSource,
selectedContact: selectedContact,
goToContactsListing: goToContactsListing,
change: change,
hasChanges: hasChanges,
saveChanges: saveChanges
};
}
var contacts_Details_ViewModel = kendo.observable(new Contacts_Details_ViewModel(1));
kendo.bind($("#ContactsDetails"), contacts_Details_ViewModel);