All Components

Grid / MVVM

Add or update a record

Console

Configuration

Information

Kendo UI Grid supports the events, source and visible bindings.

HTML5/JavaScript 源码

<!DOCTYPE html>
<html>
 <head> 
  <title>MVVM</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.dataviz.min.css" rel="stylesheet"> 
  <link href="../../styles/kendo.dataviz.default.min.css" rel="stylesheet"> 
  <script src="../../js/jquery.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="demo-section k-content wide"> 
    <div> 
     <h4>Add or update a record</h4> 
     <div data-role="grid" date-scrollable="true" data-editable="true" data-toolbar="['create', 'save']" data-columns="[
                                 { 'field': 'ProductName', 'width': 270 },
                                 { 'field': 'UnitPrice' },
                              ]" data-bind="source: products,
                            visible: isVisible,
                            events: {
                              save: onSave
                            }" style="height: 200px"></div> 
    </div> 
    <div style="padding-top: 1em;"> 
     <h4>Console</h4> 
     <div class="console"></div> 
    </div> 
   </div> 
   <div class="box wide"> 
    <div class="box-col"> 
     <h4>Configuration</h4> 
     <div> 
      <label><input type="checkbox" data-bind="checked: isVisible">Visible</label> 
     </div> 
    </div> 
    <div class="box-col"> 
     <h4>Information</h4> Kendo UI Grid supports the 
     <a href="http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/bindings/events">events</a>, 
     <a href="http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/bindings/source">source</a> and 
     <a href="http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/bindings/visible">visible</a> bindings. 
    </div> 
   </div> 
   <script>
    var viewModel = kendo.observable({
        isVisible: true,
        onSave: function(e) {
            kendoConsole.log("event :: save(" + kendo.stringify(e.values, null, 4) + ")");
        },
        products: new kendo.data.DataSource({
            schema: {
                model: {
                    id: "ProductID",
                    fields: {
                        ProductName: { type: "string" },
                        UnitPrice: { type: "number" }
                    }
                }
            },
            batch: true,
            transport: {
                read: {
                    url: "//demos.telerik.com/kendo-ui/service/products",
                    dataType: "jsonp"
                },
                update: {
                    url: "//demos.telerik.com/kendo-ui/service/products/update",
                    dataType: "jsonp"
                },
                create: {
                    url: "//demos.telerik.com/kendo-ui/service/products/create",
                    dataType: "jsonp"
                },
                parameterMap: function(options, operation) {
                    if (operation !== "read" && options.models) {
                        return {models: kendo.stringify(options.models)};
                    }
                }
            }
        })
    });
    kendo.bind($("#example"), viewModel);
</script> 
  </div>   
 </body>
</html>