文本框实现范围查询

编辑
  • 文档创建者:axing
  • 浏览次数:3201次
  • 编辑次数:4次
  • 最近更新:Kevin-s 于 2019-06-03
  • 1.问题描述

    如何在一个文本框里输入一个数字范围,将范围内的结果查询出来呢?

    如下图,输入 100~150,将销量在 100 到 150 之间的结果查询出来。
    222


    2.解决思路

    1)利用正则表达式规范文本框输入

    2)通过识别分隔符,将参数分成前后两个数字代入 SQL 中运算


    3.操作步骤

    1)数据查询如下

    SELECT * FROM 销量 where 1=1 ${IF(len(p1)==0,"and 销量="+销量,IF(len(销量)==0,"","and 销量 between "+replace(销量,p1," and ")))} order by 销量

    222

    2)设计报表如下,A2 单元格设置为列表:

    222

    3)设置参数面板,自定义文本框填写规则,填入正则表达式:^\d+([^\d]?\d+|)$

         该正则表达式允许输入数字或者数字中间存在一个分隔符
    222

    4)设置模板参数 p1,p1 的默认值为公式:GREPARRAY(split($销量,""),REVERSE(REGEXP(item,"[0-9]")))
    222

    5)保存预览,pc端效果如下(支持任意单个分隔符):
    222


    4.移动端效果

    1)App 效果

    222

    2)H5 效果
    222

    5. 已完成模板

    已完成模板,可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Parameter\文本框实现范围查询.cpt

    点击下载模板

    附件列表


    主题: 参数应用
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]