KendoUi 基本控件介绍

第一部分

 kendo UIkendo MVVM简介

我们的UI框架是kendo UI,设计模式是kendo MVVM,之前最早用的是MVC的模式,但是为了开发的便捷性,减少对DOM元素的直接操作,实现数据模型(Model)和视图(View)的分离,现在项目中的前端开发均采用MVVM模式了。

核心就是创建一个ViewModel对象,把模型中的数据对象以bind的方式和View结合起来。

kendo中kendo.observable

创建ViewModel对象

然后页面上视图内容如下:

最后通过kendo.bind($("#view"), viewModel)将视图和viewmodel绑定起来了。

这样当视图对应表单域内容发生变化,viewModel里对应的属性也发生变化;当viewmodel里某个属性发生变化,对应绑定的表单域显示内容也会发生变化,这样就实现了双向绑定。

注意:如果某个 ViewModel 对象在初始化以后还会使用到(在调用 kendo.bind 之前或之后),设置或者获取属性,则必须使用 kendo.observable 方法或是 new kendo.data.ObservableObject 来创建一个 ViewModel 对象。如果 ViewModel 对象在初始化后不再访问这个对象,那么你可以使用普通 的JavaScript 对象。

参考文档

具体怎么进行属性绑定可以参考

https://www.w3cschool.cn/kendouidevelopmenttutorial/(内容比较简单,适用于新手入门)

官方kendo api :(访问很慢很慢,但是内容很全很详细,适用于复杂功能查阅)

https://docs.telerik.com/kendo-ui/api/javascript/kendo/methods/tostring

常用的js库  underscore.js

http://www.css88.com/doc/underscore/#indexOf

和数据源datasource相关操作的一些内容,譬如transport请求数据,pushUpdate,pushCreate,pushDestroy对数据源的增删改查。

Model里有操作viewmodel的一些方法,如get,set viewmodel对象的属性。

这是MVVM对UI控件进行数据绑定的一些属性,经常会用到

第二部分

 常用的UI控件介绍

Grid表格

1.grid的定义(CompanyManage/UserSetting/Index

某一列的模板template可以直接在grid里写,也可以用一段脚本来定义template(推荐使用),当grid本身就在template里定义的,那template里的template只能用脚本来定义

 

2.Grid数据源定义

3.Gridchange事件

项目中大部分grid定义的change事件是因为grid里有checkbox,为了实现选中当前行时复选框呈选中状态

DropDownList(下拉框)

1.DropDownList控件定义(CompanyManage/SpendExpenseItem/TemplateSetting

 

2.数据源和grid类似,不管是什么UI控件,定义数据源的方法都是一样的

3.DropDownList的change事件

4.DropDownList引用模板

下拉框展示  多个值

MultiSelect(多选下拉框)

选中多个保存时提交到后台的value是选中的model数组,当保存成功后再次打开单据时,后台也要传递数组到前端,才能显示成功。

 Combobox(可填可选下拉框)

 numerictextbox(数字输入框)

ListView(列表)

1.ListView控件定义(CompanyManage/SpendExpenseItem/TemplateSetting

模板书写

billElementDtlTemplate定义代码比较繁琐,不在此粘帖图片,可直接参考项目中代码书写

listview示例

TabStrip(选项卡

1.TabStrip示例(CompanyManage/UserSetting/Index

2.TabStrip控件定义(CompanyManage/UserSetting/Index

Window(窗口)

1.Window控件定义方法一(CompanyManage/SpendExpenseItem/Index

2.Window控件定义方法二(CompanyManage/SpendExpenseItem/Create

Notification(提示语)

控件定义

显示方法

 TreeView(树)

1.TreeView控件定义(CompanyManage/UserSetting/Index

Upload(上传附件)

Upload控件定义

Upload控件定义

select方法里判断上传文件类型和文件大小是否符合

Charts(图表)

报表模块有很多charts,如饼状图、柱状图、罗盘图、折线图等

Reports/DepartReport/ExpenseStatisticIndex

第三部分

     典型示例

1.grid当前行中下拉框改变引发其他列变化

振森项目-采购申请单(Purchase/PurchaseApply/Create)

 

在新增采购明细的方法中,往明细grid插入数据时要插入货劳名称的数据源和货劳名称下拉框的change事件,这样不同行的下拉框change时不会互相影响。

货劳名称下拉框change时,要把选中项的数据如单位、货劳编号、单价等在grid里更新,最后一行进行grid更新

猜你喜欢

转载自blog.csdn.net/weixin_41392824/article/details/81948577