热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

easyuieditgrid

on点击新增用户,不是弹出一个一个dialog,而是直接在表格下面增加一行可编辑的,然后点击保存就可以新增第一步:加一个to

on

点击新增用户,不是弹出一个一个dialog,而是直接在表格下面增加一行可编辑的,然后点击保存就可以新增

 第一步:加一个toolbar,在handler中当点击新增用户,会调用datagrid的appendRow方法,此方法有个参数,可以用来初始化,注意如果以前在格式化定义了全局变量,新增一行,会保留记录,所以不能定义全局变量来格式化

$("#tableid").datagrid("appendRow",{city:''}); ,

第二部 开启编辑哪一行,调用datagrid的beginEdit方法,这方法传一个编辑行的索引,调用datagrid的getRow方法

var index= $("#tableid").datagrid("getRows").length-1;

 

$("#tableid").datagrid("beginEdit",index);

第三部 在columns中每列中指定编辑类型

 

{field:"username",title:"姓名",width:100, editor:{ //options就是验证规则,validatebox的特性,自定义的验证规则也可以用type:"validatebox",options:{required:true,missingMessage:"姓名必填"} }

 

 

editor

string,object

指编辑类型。当是 string 时指编辑类型,当 object 时包含两个特性:
type:string,编辑类型,可能的类型是:

 text、textarea、checkbox、numberbox、validatebox、datebox、combobox、combotree。
options:对象,编辑类型对应的编辑器选项。

editor中没有datetimebox组件,所以,需要扩展,datagrid的特性里提供了扩展demO

编辑器(Editor)

用 $.fn.datagrid.defaults.editors 重写了 defaults。

每个编辑器有下列行为:

名称

参数

说明

init

container, options

初始化编辑器并且返回目标对象。

destroy

target

如果必要就销毁编辑器。

getValue

target

从编辑器的文本返回值。

setValue

target , value

给编辑器设置值。

resize

target , width

如果必要就调整编辑器的尺寸。

$.extend($.fn.datagrid.defaults.editors, {
//自定义命名,要传到editor的string参数中datetimebox: { init: function(container, options){
var input = $('').appendTo(container); input.datetimebox(options);return input; }, getValue: function(target){ //获取值return $(target).datetimebox("getValue") }, setValue: function(target, value){ $(target).datetimebox('setValue');}, resize: function(target, width){ var input = $(target); if ($.boxModel == true){ input.width(width - (input.outerWidth() - input.width())); } else { input.width(width); } } } });

这样就可以用了,不然没效果

{field:"startTime",title:"起始时间",width:100,editor:{type:"datetimebox",options:{required:true,missingMessage:"起始时间必填",editable:false}}}

 -------------------------

由于点击新增和修改,点同一个保存按钮,向后台发送请求,所以

 可以设置一个全局变量,保存状态,当不是undefined,就不能再新增一行和修改记录了,只有是undefined才可以新增记录

实际开发中是可以批量新增的,这里就控制只能新增一条记录。

 

{text:"保存用户",iconCls:"icon-search",handler:function(){if($("#tableid").datagrid("validateRow",editing)){ //验证这一行是否都通过验证,$("#tableid").datagrid("endEdit",editing);//结束编辑editing=undefined;//将编辑状态置为初始状态}}}

以上只能将数据保留在前台,刷新后就没了,然后调用onAfterEdit结束编辑之后回调函数,同步到数据库,

{text:"新增用户",iconCls:"icon-add",handler:function(){flag="add";$("#tableid").datagrid("unselectAll"); //当新增一行时,其他的选中的都取消$("#tableid").datagrid("appendRow",{city:''});editing= $("#tableid").datagrid("getRows").length-1;// alert(len);$("#tableid").datagrid("beginEdit",editing);}},

编辑:需要加复选框,一般可以加在columns的冻结列中,注意是二维数组

frozenColumns:[[{field:"ck",checkbox:true }]],

删除修改取消




var flag;//保存发送url的判断,标识全局的,对同一个保存按钮发送不同的请求的做法
var editing;//编辑状态
$("#tableid").datagrid({

url:"servlet1/userServlet1?method=getList",
height:300,
// width:1000,
fit:true,
fitColumns:true,
toolbar:[

{text:"新增用户",
iconCls:"icon-add",

handler:function(){
flag="add";
$("#tableid").datagrid("unselectAll");
$("#tableid").datagrid("appendRow",{city:''});
editing= $("#tableid").datagrid("getRows").length-1;
// alert(len);
$("#tableid").datagrid("beginEdit",editing);


}
},
{
text:"编辑用户",
iconCls:"icon-edit",
handler:function(){
flag="edit";
var arr= $("#tableid").datagrid("getSelections");
if(arr.length!=1){
$.messager.show({
title:"提示",
msg:"请选择一条记录"
})

}else{
if(editing===undefined){
editing= $("#tableid").datagrid("getRowIndex",arr[0]);
$("#tableid").datagrid("unselectAll");
$("#tableid").datagrid("beginEdit",editing);

}

}

}

},

{text:"保存用户",
iconCls:"icon-search",
handler:function(){
if($("#tableid").datagrid("validateRow",editing)){
alert(editing);
$("#tableid").datagrid("endEdit",editing);
editing=undefined;


}

}


}, {text:"删除用户",
iconCls:"icon-remove",
handler:function(){
var arr= $("#tableid").datagrid("getSelections");
if(arr.length<&#61;0){
$.messager.show({
title:"提示",
msg:"请至少选择一条记录"
})
}else{
var ids&#61;"";
$.each(arr,function(i,ndom){
ids&#61;ndom.id&#43;",";
})
$.messager.confirm("友情提示","确定删除吗",function(i){
if(i){
$.post("servlet1/userServlet1?method&#61;delete",{
ids:ids
},function(){
$.messager.show({
title:"呵呵",
msg:"删除成功"
})
});


$("#tableid").datagrid("reload");
}else{

return ;
}

})



}

}
},
{text:"取消用户",
iconCls:"icon-remove",
handler:function(){
$("#tableid").datagrid("rejectChanges");
editing&#61;undefined;
}

}

 

 

 



 

转:https://www.cnblogs.com/fpcbk/p/9886194.html



推荐阅读
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • IB 物理真题解析:比潜热、理想气体的应用
    本文是对2017年IB物理试卷paper 2中一道涉及比潜热、理想气体和功率的大题进行解析。题目涉及液氧蒸发成氧气的过程,讲解了液氧和氧气分子的结构以及蒸发后分子之间的作用力变化。同时,文章也给出了解题技巧,建议根据得分点的数量来合理分配答题时间。最后,文章提供了答案解析,标注了每个得分点的位置。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • Python15行代码实现免费发送手机短信,推送消息「建议收藏」
    Python15行代码实现免费发 ... [详细]
author-avatar
挚爱—fruit
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有