|
|
本帖最后由 bess 于 2013-1-9 19:27 编辑
Q:在视图删除某些数据记录时,当其某个字段值等于设置值时,提示不允许删除
A:两种方式可以实现:
1、取得勾选记录的ID,通过ID,拿到document对象,最后通过ducument对象,取得需要字段的值,具体实现,可参考以下脚本:- var params = getParameter("_selects");//获取选中记录的ID集合
- var process = getDocProcess(getApplication());
- var docids = splitText(params, ";");
- var rnt;
- if(docids.length>1)
- createAlert("只能选择一条记录,请重新选择!");
- else{
- for(var i=0;i<docids.length;i++){
- var doc = process.doView(docids[i]);//根据ID查询document对象。
- rnt= doc.getItemValueAsString("名称")//名称是需要取值的字段名
- if(rnt!="" && rnt.equals("aa"))//aa是指定字段的值
- createAlert("该条记录不允许删除");
- }
- }
复制代码 2、取得选中记录的ID,然后使用sql语句,根据ID查询到所需要字段的值。具体实现,可参考以下脚本:- var params = getParameter("_selects");//获取选中记录的ID集合
- var process = getDocProcess(getApplication());
- var docids = splitText(params, ";");
- var datas;
- var sql;
- var value;
- if(docids.length>1)
- createAlert("只能选择一条记录,请重新选择!");
- else{
- for(var i=0;i<docids.length;i++){
- sql="select id,domainid,item_名称 from tlk_金额计算 where id='"+docids[i]+"'";
- datas=queryBySQL(sql);
- for(var iter = datas.iterator();iter.hasNext();){
- var doc= iter.next();
- value= doc.getItemValueAsString("名称");
- }
- println(value+"======名称========");
- if(value!="" && value.equals("aa")){//aa是指定字段的值
- createAlert("该条记录不允许删除");
- }
- }
- }
复制代码 |
|