博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET MVC5+EF6+EasyUI 后台管理系统(83)-Easyui Datagrid 行内编辑扩展
阅读量:5838 次
发布时间:2019-06-18

本文共 2210 字,大约阅读时间需要 7 分钟。

这次我们要从复杂的交互入手来说明一些用法,这才能让系统做出更加复杂的业务,上一节讲述了

本节主要演示扩展Datagrid行内编辑的属性,下面来看一个例子,我开启编辑行的时候,右边开启了一个查找图标,点击查找图标可以弹出对应的页面

 

从API得知,我们进行编辑时候可以使用很多类型: 

editor string,object 指明编辑类型。当字符串指明编辑类型的时候,对象包含2个属性:
type:字符串,该编辑类型可以使用的类型有:text,textarea,checkbox,numberbox,validatebox,datebox,combobox,combotree。
options:对象,object, 该编辑器属性对应于编辑类型。

使用$.fn.datagrid.defaults.editors重载默认值。

每个编辑器都有以下方法:

 

名称 属性 描述
init container, options 初始化编辑器并返回目标对象。
destroy target 注销编辑器。
getValue target 获取编辑框的值。
setValue target , value 设置编辑框的值。
resize target , width 调整编辑器

 我们可以重写和补充这些类型的属性,非常之灵活

$.extend($.fn.datagrid.defaults.editors, {    seltext: {        init: function (t, a) {            //设置一个输入框和一个扩大镜图标            var i = $(' ').appendTo(t);            if (a != undefined && a != null && a._medg) {                i.keydown(function (t) {                    e(t, a._medg)                })            }            return i        },        destroy: function (e) {            //销毁             $(e).remove()        },        getValue: function (e) {            //datagrid 结束编辑模式,通过该方法返回编辑最终值            return $(e).val()        },        setValue: function (e, t) {            //datagrid 进入编辑器模式,通过该方法为编辑赋值            $(e).val(t);            setTimeout(function () {                e.focus()            },            100)        },        resize: function (e, t) {            //列宽改变后调整编辑器宽度            $(e[0]).width(t - 30);        }    }});

前端调用与原来调用方式一样,只是我们多了一个选择: type: 'seltext' 即可

{ field: 'WareDetailsName', title: 'WareDetailsName', width: 80,sortable:true,editor: { type: 'seltext', options: { required: true } },                         styler:function(value,row,index){                             return 'color:red;';                         }                    },

有了这个扩展,我们可以对任何类型进行精心定制,比如,日期区间,多文本,上传附件等等

 总结:

在加载Easyui.min.js后引入jquery.easyui.plus.js即可

没有特别的复杂用法,其实EasyUI是一个可以扩展很多东西的组件,我们之间还对他扩展过万能查询 http://www.cnblogs.com/ymnets/p/6129139.html

下面分享我的一个扩展JS,主要来替代Easyui的不足

1.扩展tree,使其支持平滑数据格式

2.扩展combotree,使其支持平滑数据格式

3.让window居中

4.防止panel/window/dialog组件超出浏览器边界

5. panel关闭时回收内存,主要用于layout使用iframe嵌入网页时的内存泄漏问题

6.datagrid过长显示...截断

 
jquery.easyui.plus.js
本文转自ymnets博客园博客,原文链接:http://www.cnblogs.com/ymnets/p/6737779.html,如需转载请自行联系原作者
你可能感兴趣的文章
[LeetCode] Copy List with Random Pointer
查看>>
openstack部署之nova
查看>>
JS组件系列——表格组件神器:bootstrap table
查看>>
存储过程Oracle(一)
查看>>
log4j日志归档
查看>>
Java笔记01——IO流
查看>>
mysql遇见error,1049
查看>>
NYOJ311 完全背包
查看>>
codevs——2822 爱在心中
查看>>
Python基础班---第一部分(基础)---Python基础知识---认识Python
查看>>
JAVA MAC 配置
查看>>
1134 最长上升子序列 (序列型 DP)
查看>>
js冒泡排序
查看>>
第一次作业 4班卢炳武
查看>>
抽象类的调用
查看>>
使用硬盘,安装双系统,Win7+CentOS
查看>>
Javascript学习总结
查看>>
php 用正则替换中文字符一系列问题解决
查看>>
ActiveMQ应用笔记一:基本概念&安装
查看>>
大话数据结构之四(串)
查看>>