我想在数据框中输入完后,数据库没有此串码,就提示“”请输入正确的随机码“”

image.png


image.png

FineReport Elison_man 发布于 2020-3-11 13:48
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
3
L大大Lv7高级互助
发布于2020-3-11 13:54

最简单的可使用sql("数据库名称",select 随机码字段 from table where 随机码='"+$$$+"',1,1)

获取是有此随机码,然后编辑结束后判断单元格


  • Elison_man Elison_man(提问者) 我这个现在是参数框,一个控件,输入内容去数据库判断,不是单元格。我不知道应该在哪里写公式或者在哪里添加条件
    2020-03-11 14:06 
  • L大大 L大大 回复 Elison_man(提问者) 新增一个控件,把上面的公式放进去
    2020-03-11 14:09 
  • Elison_man Elison_man(提问者) 回复 L大大 不是这样的效果
    2020-03-11 14:31 
  • L大大 L大大 回复 Elison_man(提问者) 再用js判断下不就好了 var gh=globalForm.getWidgetByName(\"GH\").getValue(); var pwd=globalForm.getWidgetByName(\"PWD\").getValue(); var lgh=globalForm.getWidgetByName(\"labelGH\").getValue(); var lpwd=globalForm.getWidgetByName(\"labelPWD\").getValue(); var shop=globalForm.getWidgetByName(\"SHOP\").getValue(); var lshop=globalForm.getWidgetByName(\"labelSHOP\").getValue(); if(shop.length==0){ FR.Msg.alert(\"请选择所在门店!\"); } else if(gh.length==0||pwd.length==0){ FR.Msg.alert(\"请输入账号密码!\"); } else if(shop!=lshop){ FR.Msg.alert(\"所选门店与档案信息不符!\"); } else if(gh==lgh&&pwd==lpwd){ FR.doHyperlinkByGet({url:\'${servletURL}?viewlet=门店调拨/1.调拨首页.frm\',title:\'门店调拨\',para:{SHOP:lshop,GH:lgh}}); }else{ FR.Msg.alert(\"账号密码错误!\"); }
    2020-03-11 14:41 
最佳回答
0
asanguosha4252Lv5初级互助
发布于2020-3-11 14:08


微信图片_20200311140431.png

方法比较笨,但实际我自己就是这样用,定义一个模板参数, 名字随便取如p1,默认值选公式 = sql("数据库名称",select 1 from table where RANDOM_DIGIT='"+$控件名+"',1,1),


然后在JS事件里面,就可以拿到这个参数进行判断

var parm = FR.remoteEvaluate("$p1")  ,parm ==1 就是匹配, 否则就alert提示一下

  • Elison_man Elison_man(提问者) 我还是没有尝试成功。有没有直接写js然后去获取框中输入的和数据库查询的对比,报错
    2020-03-11 14:31 
  • asanguosha4252 asanguosha4252 回复 Elison_man(提问者) 可以是可以,但是在JS调用数据库是有风险得,人家会玩得拿来做增删改查。https://help.finereport.com/doc-view-2454.html 文档的2.3 章节有说。你看你的模板参数 alert($p1) 一下看能不能出来
    2020-03-11 14:38 
  • asanguosha4252 asanguosha4252 回复 Elison_man(提问者) 公式 = sql(\"数据源名称\",select 1 from table where RANDOM_DIGIT=\'\"+$控件名+\"\',1,1) 数据源名称是你帆软配置的数据源名称
    2020-03-11 14:40 
最佳回答
0
axingLv6专家互助
发布于2020-3-11 14:10

用下拉框取消允许自定义值就可以实现,缺点是没有提示

image.png

最佳回答
0
luojian0323Lv7资深互助
发布于2020-8-23 14:37
var a=this.getValue();
var sql="sql(\"连接名\", \"select count(ID) from table where 随机码='" + a+ "'\", 1, 1)"
var jilu=FR.remoteEvaluate(sql)
//JS中调用提示窗口
if(jilu=""||jilu==0){
FR.Msg.alert("提示","请输入正确的随机码.");
}


  • 5关注人数
  • 456浏览人数
  • 最后回答于:2020-8-23 14:37
    请选择关闭问题的原因
    确定 取消
    返回顶部