• kendo DataSource


    1.transport

    标准的DataSource格式,默认get请求:

    var dataSource = new kendo.data.DataSource({
      transport: {
        read:  {
          url: "https://demos.telerik.com/kendo-ui/service/products",
          dataType: "jsonp" 
        },
        update: {
          url: "https://demos.telerik.com/kendo-ui/service/products/update",
          dataType: "jsonp"  
        }
      }
    });

    设置为post请求:

    var dataSource = new kendo.data.DataSource({
      transport: {
        update: {
          type: "POST"
        }
      }
    });

    自己写ajax请求:

    注意:如果transport中有一个方法是自己写的ajax请求,则其他方法也需要使用自己写的ajax请求,需保持一致。

    var dataSource = new kendo.data.DataSource({
      transport: {
        read: function(options) {
        },
        update: function(options) {
          $.ajax({
            url: "https://demos.telerik.com/kendo-ui/service/products/update",
            dataType: "jsonp", 
            data: {
              models: kendo.stringify(options.data.models)
            },
            success: function(result) {
              options.success(result);
            },
            error: function(result) {
              options.error(result);
            }
          });
        }
      }
    });

    需要传递的其他参数data:

    //作为对象发送
    var dataSource = new kendo.data.DataSource({
      transport: {
        update: {
          cache: true,    //是否缓存请求结果
          contentType: "application/json",  //发送到服务器的内容表头
          dataType: "json",    //发送服务器的数据类型
          data: {
            name: "Jane Doe",
            age: 30
          }
        }
      }
    })
    //从函数返回发送其他参数
    var dataSource = new kendo.data.DataSource({
      transport: {
        update: {
          data: function() {
            return {
              name: "Jane Doe",
              age: 30
            }
          }
        }
      }
    });

    2.schema

     model

    var dataSource = new kendo.data.DataSource({
      schema:{
           model:{
              id:'',
              fields:{
                 name: { type: "number",defaultValue:0, editable: false, nullable: true, validation: { 
                     required: true, min: 1,
                      NoValidation:function(input){
                         if (input.is("[name='UnitPrice']") && input.val() != "") {
                            if(input.val() > 30){
                              input.attr("data-NoValidation-msg", "请输入小于30数字");
                                 return false;
                             }
                         }
                         return true;
                    }
                  }}
               }
           } 
        }
    });

    注意:

    • editable:初始化的时候,控制该列是否可编辑;
    • defaultValue:默认值,只适用于新建的单元格,比如:新增;
    • validation:单元格的验证,可以写自定义事件;
  • 相关阅读:
    poj 1113 wall(凸包裸题)(记住求线段距离的时候是点积,点积是cos)
    Atcoder(134)E
    poj 1696 极角排序(解题报告)
    poj 1410 (没做出来,记得闲着没事看看这道题)
    poj1066 线段相交简单应用(解题报告)
    poj 2653 线段相交裸题(解题报告)
    poj 1269
    要习惯用vector代替数组
    在 Angularjs 中$state.go 如何传递参数
    CSS实现内容超过长度后以省略号显示
  • 原文地址:https://www.cnblogs.com/djd66/p/15214147.html
Copyright © 2020-2023  润新知