mirror of
https://github.com/hanzoai/jube-fork.git
synced 2026-11-02 14:29:36 +00:00
170 lines
5.8 KiB
HTML
Executable File
170 lines
5.8 KiB
HTML
Executable File
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>DataSource binding</title>
|
|
<meta charset="utf-8">
|
|
<link href="../content/shared/styles/examples-offline.css" rel="stylesheet">
|
|
<link href="../../styles/kendo.common.min.css" rel="stylesheet">
|
|
<link href="../../styles/kendo.rtl.min.css" rel="stylesheet">
|
|
<link href="../../styles/kendo.default.min.css" rel="stylesheet">
|
|
<link href="../../styles/kendo.default.mobile.min.css" rel="stylesheet">
|
|
<script src="../../js/jquery.min.js"></script>
|
|
<script src="../../js/jszip.min.js"></script>
|
|
<script src="../../js/kendo.all.min.js"></script>
|
|
<script src="../content/shared/js/console.js"></script>
|
|
<script>
|
|
|
|
</script>
|
|
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<a class="offline-button" href="../index.html">Back</a>
|
|
|
|
<div id="example">
|
|
<div class="configurator">
|
|
<div class="header">Configurator</div>
|
|
<div class="box-col">
|
|
<h4>Save data changes</h4>
|
|
<ul class="options">
|
|
<li>
|
|
<button id="save">Save changes</button>
|
|
<button id="cancel">Cancel changes</button>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="spreadsheet" style="width: 100%"></div>
|
|
<script>
|
|
$(function() {
|
|
var crudServiceBaseUrl = "https://demos.telerik.com/kendo-ui/service";
|
|
|
|
var dataSource = new kendo.data.DataSource({
|
|
transport: {
|
|
read: onRead,
|
|
submit: onSubmit
|
|
},
|
|
batch: true,
|
|
change: function() {
|
|
$("#cancel, #save").toggleClass("k-state-disabled", !this.hasChanges());
|
|
},
|
|
schema: {
|
|
model: {
|
|
id: "ProductID",
|
|
fields: {
|
|
ProductID: { type: "number" },
|
|
ProductName: { type: "string" },
|
|
UnitPrice: { type: "number" },
|
|
Discontinued: { type: "boolean" },
|
|
UnitsInStock: { type: "number" }
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
$("#spreadsheet").kendoSpreadsheet({
|
|
columns: 20,
|
|
rows: 100,
|
|
toolbar: false,
|
|
sheetsbar: false,
|
|
dataBinding: function (e) {
|
|
console.log('Data is about to be bound to sheet "' + e.sheet.name() + '".');
|
|
},
|
|
dataBound: function (e) {
|
|
console.log('Data has been bound to sheet "' + e.sheet.name() + '".');
|
|
},
|
|
sheets: [{
|
|
name: "Products",
|
|
dataSource: dataSource,
|
|
rows: [{
|
|
height: 40,
|
|
cells: [
|
|
{
|
|
bold: "true",
|
|
background: "#9c27b0",
|
|
textAlign: "center",
|
|
color: "white"
|
|
},{
|
|
bold: "true",
|
|
background: "#9c27b0",
|
|
textAlign: "center",
|
|
color: "white"
|
|
},{
|
|
bold: "true",
|
|
background: "#9c27b0",
|
|
textAlign: "center",
|
|
color: "white"
|
|
},{
|
|
bold: "true",
|
|
background: "#9c27b0",
|
|
textAlign: "center",
|
|
color: "white"
|
|
},{
|
|
bold: "true",
|
|
background: "#9c27b0",
|
|
textAlign: "center",
|
|
color: "white"
|
|
}]
|
|
}],
|
|
columns: [
|
|
{ width: 100 },
|
|
{ width: 415 },
|
|
{ width: 145 },
|
|
{ width: 145 },
|
|
{ width: 145 }
|
|
]
|
|
}]
|
|
});
|
|
|
|
function onSubmit(e) {
|
|
$.ajax({
|
|
url: crudServiceBaseUrl + "/Products/Submit",
|
|
data: { models: kendo.stringify(e.data) },
|
|
contentType: "application/json",
|
|
dataType: "jsonp",
|
|
success: function (result) {
|
|
e.success(result.Updated, "update");
|
|
e.success(result.Created, "create");
|
|
e.success(result.Destroyed, "destroy");
|
|
},
|
|
error: function (xhr, httpStatusMessage, customErrorMessage) {
|
|
alert(xhr.responseText);
|
|
}
|
|
});
|
|
}
|
|
|
|
function onRead(options) {
|
|
$.ajax({
|
|
url: crudServiceBaseUrl + "/Products",
|
|
dataType: "jsonp",
|
|
success: function (result) {
|
|
options.success(result);
|
|
},
|
|
error: function (result) {
|
|
options.error(result);
|
|
}
|
|
});
|
|
}
|
|
|
|
$("#save").click(function() {
|
|
if (!$(this).hasClass("k-state-disabled")) {
|
|
dataSource.sync();
|
|
}
|
|
});
|
|
|
|
$("#cancel").click(function() {
|
|
if (!$(this).hasClass("k-state-disabled")) {
|
|
dataSource.cancelChanges();
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
</div>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|