日期:2014-05-16 浏览次数:20345 次
1. 当对应表没有自增主键但是值又必须唯一时,
解决:
//添加 角色序号不能重复 的逻辑 var m = grid.store.getModifiedRecords(); //获得grid中修改后的值(包括 编辑的 和 新增的) var codeRepeat = ""; store.each(function(record) { if(record.get('roleCode') == m[i].get('roleCode')){ codeRepeat += "repeat"; //新增的行内容会自动加入store中,each的时候总是能找到一个自己,若出 //现两次表示有重复 }; }); if(codeRepeat == "repeatrepeat"){ Ext.Msg.alert('信息提示', '角色序号不能重复!'); //本来想在each里面进行Ext.Msg.alert的,但是貌似不行 //所以只能到外面来了 m[i].set('roleCode',""); //清除对应的重复字段的值 return false; }
解决:利用flag字段对“新增”和“修改”的区别判断
在dao中传到前台的json中增加字段flag并设置默认值,页面新建时flag默认为空即可
grid.on('beforeedit',function(e){ //在grid可编辑之前进行对应的判断 if((e.column==1)&&(e.record.get('flag')=='1')){ //e.column为对应的列,1为第一列 e.cancel=true; } });
3. 注意点:java程序中查询的是数据库中 未commit的数据 ,pl/sql中查询的是commit之后的数据
还不知道为什么
4. FormPanel 数据提交时的技巧:如果允许的话,采用 先全部删除 再添加对应右侧所选全部数据
5. js文件进行复制时:不要alt+a+copy 直接copy整个文件再更名 否则无法加载效果可能是格式编码问题