zoukankan      html  css  js  c++  java
  • Kendo UI 简单使用

    1 准备工作

      引入JS文件和CSS文件

    <link href="js/kendoui/styles/kendo.common.min.css" rel="stylesheet" />

    <link href="js/kendoui/styles/kendo.silver.min.css" rel="stylesheet" />

     

    <script src="js/kendoui/js/jquery.min.js"></script>

    <script src="js/kendoui/js/kendo.all.min.js"></script>

     

    2 数据源

    2.1 创建数据源

    · var dataSource = new kendo.data.DataSource({

    ……

                 });

    2.2 数据源常用配置项

    · data:数据,数据类型有json和xml

    data: [{"userId":63,"userNo":"test1","userName":"用户"}]

     

    · transport:加载或保存数据

    transport : {

    read : {

    url : "userManager?action=getUserInfosByDeptId",

    dataType : "json" 

    },

    update : {

    url : "userManager?action=test",

    dataType : "jsonp" 

    },

    create : {

    //添加数据,参考update方法

    },

    destroy : {

    //删除数据,参考update方法

    },

    parameterMap : function(data, type) {

    switch (type) {

    case "read": {

    return {

    deptId : 0

    };

    }

    default: {

    return {

    //返回修改的json

    userinfo : kendo.stringify(data.models)

    };

     

    }

    }

    }

    }

    · schema :数据源的结构,可对每个字段进行配置

    schema : {

      model : {

        id : "userId",

        fields : {

          userNo : {

          editable : false,//是否需要编辑

          nullable : true,//是否允许为空

          validation : {required : true}//验证

          }

        }

      }

    2.3 常用方法

     

    · dataSource.read()//重新读取数据源

    · dataSource.sync()//保存数据源的修改

    · dataSource.data()//获取数据源的数据

    · dataSource.data([{ name: "John Doe" }])//设置数据源的数据

     

    3 Grid

    3.1 创建Grid

    $("#grid").kendoGrid({    

                    ……

       });

     

    3.2 Grid常用配置项

    l dataSource:dataSource,//数据源

    l groupable: true,//是否允许分组

    l editable : true,//是否允许修改修改模式“inline”行内模式,"popup"弹窗模式

    l filterable :true//是否开启筛选

    l columnMenu: true//是否开启列菜单

    l reorderable: true//是否允许对列进行排序(手动拖拽列)

    l sortable: true//是否允许排序

    l selectable : true,//是否允许选择 “multiple row”:多行选择, "multiple cell" 多单元格选择,"row"单行,"cell"单元格

    l pageable:true/是否分页

           pageable: {

              refresh: true,//刷新按钮

              pageSizes: 10//每页大小

              buttonCount: 5//页码按钮数量

            }

    l columns//列

    columns: [{field: "ContactName",//字段名

                  title: "Contact Name",//列名

                  Width: 200, //列宽

                  Format:"yyyy-mm-dd"

    editor : stratDateEditor//自定义编辑

    }]

          

    function stratDateEditor(container, options) {

    $(

    '<input  type="text" name="startDate" data-bind="value:startDate">')

    .appendTo(container).kendoDateTimePicker({});

    }

     

     

    3.3 Grid 常用事件

    change : function(e) {

    //获取选中行的数据

     this.dataItem(this.select());

    }

    3.4 模板Template

    //行模板

    rowTemplate: kendo.template($("#rowTemplate").html())

    //间隔行模板

    altRowTemplate: kendo.template($("#altRowTemplate").html())

     

    <script id="rowTemplate" type="text/x-kendo-tmpl">

                <tr data-uid="#: uid #">

                <td class="photo">

               <img src=" #:data.EmployeeID#.jpg" alt="#: data.EmployeeID #" />

                </td>

                <td class="details"> <span class="title">#: Title #</span>

               <span class="description">Name : #: FirstName# #: LastName#</span>

               <span class="description">Country : #: Country# </span></td>

                <td class="employeeID">#: EmployeeID #</td></tr>

    </script>

     

     

     

    4 TreeView

    4.1 创建Treeview

    $("#treeview-sprites").kendoTreeView({

    ……

    });

    4.2 Treeview配置项

    l dataSource : deptDataSource,//数据源

    l dataTextField : "deptName",//显示文本字段

    l dragAndDrop: true,//是否允许拖拽节点

    l checkboxes : {checkChildren : true},//节点前显示复选框

    4.3 TreeView数据源

    Json格式[{deptId:1,childrenList:[{deptId:2,childrenList:[{....}]}]}]

    schema : {

    model : {

    id : "deptId",

    children : "childrenList",

    hasChildren : function(item) {return item.childrenList.length != 0;

    }}}

    4.4 TreeView常用方法

    //获取TreeView对象

    var treeview = $("#treeview").data("kendoTreeView");

    //根据文本查找节点

    treeview.findByText("xxxx")

    //展开节点(只能展开下一级)

    treeview.expand(".k-item");

    4.5 TreeView常见事件

    //选择节点事件

    select : function(e) {

    var treeview=$('#treeviewsprites').data('kendoTreeView');

    //获取选中节点的数据

    var data = treeview.dataItem(e.node);

    }

    //绑定事件

    dataBound : function(e) {

    //展开所有节点

    $('#treeview-sprites').data('kendoTreeView').expand(".k-item");

    },

    5 Window

    5.1 创建Window

    $("#window").kendoWindow({

    …...

    });

    5.2 Window常用配置项

    l  "505px",

    l height: "315px",

    l title: "Rams's Ten Principles of Good Design",

    l actions: ["Pin", "Refresh","Minimize","Maximize", "Close"]

    //顶端按钮:固定钉、刷新、最小化、最大化、关闭

    5.3 Window常用方法

    //获取窗口对象

    Var dialog = $("#dialog").data("kendo Window");

    //居中显示

    dialog.center();

    //打开窗口

    dialog.open();

    //关闭窗口

    dialog.close();

    6 DropDownList

    6.1 创建DropDownList

    $("#ddlSex").kendoDropDownList({

    ……

    })

    6.2 DropDownList配置项

    l dataSource:datasource//数据源

    l dataTextField : "text",//显示文本字段

    l dataValueField : "value"//值字段

    6.3 DropDownList常用方法

    //获取DropDownList对象

    var ddl =("#ddlSex").data("kendoDropDownList");

    //获取选中项的值

    ddl.dataItem().value;

    //赋值

    ddl.value("……");

    //设置选中的值

    ddl.select(index)

    5 Validator

    5.1 创建Validator

    $("#formId").kendoValidator({

    ……

    });

    注:验证的控件必须在<form>标签内

    5.2 Validator配置项

    l validateOnBlur: false//失去焦点时验证,默认值为true

    l rules //自定义验证规则

     rules: {customRule1: function(input) {

              if (input.is("[name=username]")) {

                return input.val() === "Tom";}

              return true;},

             customRule2: function(input) {……}

    }

    l messages //自定义验证消息

    messages: {

    customRule1: "Your UserName must be Tom",

            customRule2: "All fields are required"

          }

    5.3 常用Validator

    l 非空验证

    <input type="text" name="fullname" id="fullname" required validationMessage="Please enter {0}" />

    {0} 为 name属性的值

    l 输入类型验证

    <input type="tel" id="tel" pattern="d{10}" required validationMessage="Please enter number"/>

  • 相关阅读:
    《重构》读书笔记
    每周总结
    《修改代码的艺术》读书笔记
    每周总结
    每周总结
    《修改代码的艺术》读书笔记
    每周总结
    第二周周总结
    以淘宝网为例,描绘质量属性的六个常见属性场景
    机器学习第八讲
  • 原文地址:https://www.cnblogs.com/chengeng/p/4550910.html
Copyright © 2011-2022 走看看