填报的删除按钮如何指定两个单元格为条件呢?

image.png

如图,删除的时候执行的条件是where b5=...,如何设置成where b5=.. and c5=...的效果呢?

FineReport lanfengye 发布于 2019-10-5 13:32
1min目标场景问卷 立即参与
回答问题
悬赏:8 F币 4人赏过 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
luojian0323Lv7资深互助
发布于2019-10-5 13:36(编辑于 2019-10-5 13:39)

先添加一个删除行按钮,照常设置,然后,再添加一个自定义按钮,在点击事件的js里添加你要的条件,然后执行contentPane.deleteReportRow("B"+row, 0, 1)  

(这条语句对应的单元格是你的删除行按钮所在的单元格)

image.png

  • lanfengye lanfengye(提问者) 可以说说实现的原理吗? 比如我要的是where b5 and c5,那么正常设置一个以B5为指定单元格的删除行按钮? 然后自定义按钮+条件+执行的语句 我最后的结果是:自定义JS错误 : Cannot set property \'rptIdx\' of null
    2019-10-05 14:01 
  • luojian0323 luojian0323 回复 lanfengye(提问者) 分别定义两个变量,获取B5和C5的值,然后用if条件,两个变量值相等,则可执行删除行操作. 不满足条件就不执行. 其实还有一个办法 ,就是设置条件属性,对这个按钮设置不可用,条件是B5=C5 不过这只适用于查询出来的结果,不适用于新插入的行.
    2019-10-05 14:17 
  • lanfengye lanfengye(提问者) 回复 luojian0323 你应该还是误会了...我说的是delete * from xx where a=** and b=**
    2019-10-05 14:21 
  • luojian0323 luojian0323 回复 lanfengye(提问者) 填报属性设置删除提交或者智能提交. 你只要删除满足条件的行,提交了就是删除提交.和你的delete语句是一样的. 你既然添加了删除行按钮,总不会批量删除吧? 如果你是要按条件批量删除.请补充你的问题.
    2019-10-05 14:28 
  • lanfengye lanfengye(提问者) 回复 luojian0323 你看我一开始发的图,那里的条件单元格对应sql语句中delete * from table where a=xx中的a=xx这部分对吧,然后我想要的效果是where后面变成a=xx and b=xx,这样,但是条件单元格只能设置一个,不知道要怎么实现两个条件单元格...不知道这样说你明白吗?
    2019-10-05 16:54 
最佳回答
0
黄源Lv6中级互助
发布于2019-10-5 13:56

你是要做校验?

最佳回答
0
浪兔Lv7初级互助
发布于2019-10-5 14:15(编辑于 2019-10-5 15:00)

var locatio = FR.cellStr2ColumnRow(this.options.location); // 获取当前点击的删除行控件的位置

var Selfs = contentPane.getCellValue(locatio.col + 25, locatio.row); //获取单元格的值 +25 是以删除按钮的控件位置 往后数25个。你可以根据你的情况来写


if (Selfs == "分单") {

var Order = contentPane.getCellValue(locatio.col + 4, locatio.row); //一样是获取单元格的值

var Number = contentPane.getCellValue(locatio.col + 8, locatio.row);//一样是获取单元格的值


var sql = "sql(\"SCADADB\",\"  DELETE OA_Order where Selfs = '分单' and PurchaseOrder = '" + Order + "' and ProcessNumber = '" + Number + "'\",1,1)";

//写一个帆软的内置函数。也就是公式。


FR.remoteEvaluate(sql);  //这个方法是调用帆软的内置函数

} else {

FR.Msg.confirm("错误", "原单不允许删除!");

return false;

}



这是我写的。你看着改一下把。看不懂的可以说。

  • lanfengye lanfengye(提问者) 10.0 数据库的没有办法导出数据模板吧?我试了不行 填报肯定是删除数据库吧
    2019-10-05 14:27 
  • 浪兔 浪兔 回复 lanfengye(提问者) 10.0一样可以啊。 文件。输出。导出内置模板。
    2019-10-05 14:32 
  • lanfengye lanfengye(提问者) 回复 浪兔 试了不行,导出是空白文件.
    2019-10-05 14:41 
  • 浪兔 浪兔 回复 lanfengye(提问者) 我修改了回答。你看着你的情况改一下把。遇到问题再说。
    2019-10-05 15:00 
  • lanfengye lanfengye(提问者) 回复 浪兔 上面这句sql语句没看懂.用fr里的数据集作为表的名称吗?SCADADB这个是?
    2019-10-05 17:14 
  • 4关注人数
  • 545浏览人数
  • 最后回答于:2019-10-5 15:00
    请选择关闭问题的原因
    确定 取消
    返回顶部