这几天在使用LigerUI(版本为1.2.2)编辑表格组件的时候,遇到几个小问题,从官方demo和api中没有找到解决的办法
问题1、从数据库查询出来的主键单元格不可编辑问题
主键单元格已经保存之前编辑的数据,由于是主键,因此一旦保存就不需要再进行修改
找到了一点儿线索,核心代码如下:
onBeforeEdit: function (e){
if (e.record.editTime) {
e.record.id.enabledEdit = false;
//dataGrid.reRender();
}
return true;
}
其中,reRender()函数是从http://www.tuicool.com/articles/ZZnyu2F找到的,新版本没有这个函数,虽然重新设置了单元格的enabledEdit属性为false,但是不知道如何阻止编辑单元格,于是这个问题只能通过变通的方式解决
变通的解决方式为,在编辑完成后判断当前记录是否已经保存过,比如已经有保存时间等属性,如果已经保存,就自动恢复成编辑之前的数据,核心代码如下:
onBeforeSubmitEdit: function (e) {
//查询出来的数据id不能修改
if (e.column.name == "id" && e.record.editTime) {
return false;
}
}
虽然,变通解决了不能修改的问题,但是理想的效果是单元格不可编辑
问题2:单元格校验问题
可编辑的表格,其中的数据有些是需要进行格式、业务校验的,虽然有人在ligerGrid的columns中写了validate属性,但是不知道如何触发其中的校验规则,设置的校验不能触发,肯定是不能起作用的,于是这个问题也需要找个变通的方式解决
变通的解决方式为,在保存之前,对每行的数据进行校验,遍历每行数据的核心代码
function validateGrid() {
var rows = dataGrid.rows;
for (var i = 0; i < rows.length; i++) {
if (rows[i].id.length == 0) {
$.ligerDialog.warn("第"+(i+1)+"行[编码]不能为空");
return false;
}
if (rows[i].name.length == 0) {
$.ligerDialog.warn("第"+(i+1)+"行[名称]不能为空");
return false;
}
}
return true;
}
虽然,解决了数据校验问题,但是校验不通过的单元格,显示效果和校验通过的一样,效果不是很好
LigerUI使用起来比较简单,作者也半年左右升级一次,api虽然已有在线版的http://api.ligerui.com/,但是api函数没有名称排序,找起来不是很方便,有些函数没有在api中体现出来,只能查看源码或者开发工具调试才能找到相关的调用方法,不过还是要赞一个,支持免费、开源的LigerUI
分享到:
相关推荐
Ligerui Grid合并单元格 ,指定列合并单元格,该合并是整列合并
Ligerui Table 导出excel表格 (基于jquery) 1.支持原样式导出 2.支持带图片导出 3.支持固定行固定列导出
ligerui-LigerUI
ligerUI 教程API手册,方便查询
应用ligerui实现的界面效果 1. 表格分页 2. 单元格内的修改与ajax提交保存数据 3. 弹出窗口的新增与编辑功能:包括自定义创建表单以及JQuery验证 应用版本:V1.2.5 win7.jsp实现操作系统窗口图标效果,通过Cookie...
最详细的LigerUI帮助文档,附带bootstrap
ligerUI的日期控件,原来的不支持秒,改成支持秒
ligerui-LigerUI-Release Demo,是整个Web ERP开发系统的Demo来的;不管是新鸟还是老鸟;拥有这个demo,保证能帮你很大忙,希望能帮到你!!
ligerui-LigerUI-V1.2.5 界面开发框架整套框架 新版本集成列表,编辑以及框架图标与一体
ligerUI Tree对checkbox的禁用,设置成只读,只要早jsp中引入此文件即可。
一套免费,强大的UI JQUERY API 中文手册
使用LigerUI的Grid和Java的Json实现数据显示
jQuery LigerUI控件丰富,包括基础、导航、布局、表单、表格、树形、窗口等 基础:Resizable、Drag、Tip 导航:Menu、MenuBar、ToolBar 布局:Layout、Tab 表单:Form、TextBox、Button、CheckBox、ComboBox...
功能模块主要还是将博OA的,主要把界面进行了调整,及用户体验,现在使用LigerUI进行了完整的封装。
Jquery LigerUI中文帮助文档,可下载方便使用。
ligerUI的拖动效果demo
西瓜定制LigerUi基于LigerUi二次开发的
快速开发,使用LigerUI可以比传统开发减少极大的代码量 易扩展,包括默认参数、表单/表格编辑器、多语言支持等等 支持Java、.NET、PHP等web服务端 支持 IE6+、Chrome、FireFox等浏览器 开源,源码框架层次简单...
ligerUi框架,里面包含了基本的demo演示(Source文件夹)及相关的api(Document文件夹)
jQuery LigerUI V1.3.2 最新代码