编辑前事件:
window.celllastvalue=this.getValue();
编辑后事件:
var thisnamepy=this.getValue();//填写的用户py
var lastnamepy=window.celllastvalue
if(thisnamepy!=lastnamepy){//用户修改为别的用户时要检查重复
var sql="select count(namepy) from 用户信息 where namepy='"+thisnamepy+"'";
var namecount=FR.remoteEvaluate('=SQL("data","'+sql+'",1)');
if(namecount>0){
contentPane.setCellValue(col-1,row-1,lastnamepy);
alert("系统中已经有重复的用户名了");
//用户名撤销,选择用户名
return false;
}
}
这样就可以实现了,我用到了return false,很关键
但是这样的效果不太好,比如:我执行了return false后,焦点会停留在刚编辑过的单元格,不符合规定的值也会恢复成未编辑前的值,但是恢复后的值无法处于选中,不直观。
我试图加上这句代码,但无效果:
var cell = contentPane.curLGP.currentTDCell;
setTimeout(function(){
contentPane.curLGP.selectTDCell(cell);
contentPane.curLGP.editTDCell(cell);
},20)
恢复值后还是不能处于选中状态。请指教!
我在想如何JS能模拟鼠标双击一下这个单元格的话,就处于选中状态了,可是我不知道模拟鼠标双击的代码如何写?