docker版jxTMS使用指南:数据查询

本文讲解docker版jxTMS的数据查询,整个系列的文章请查看:docker版jxTMS使用指南

请按前文所述先做好相关的准备工作,然后多在helloWorld界面输入各种数据后点【点我】按钮,以多创建点数据来为查询做下准备。

分页查询

首先在web文件中增加一个查询界面:

//分页查询的演示界面
web listDemoData type div;
web listDemoDataT2 bind tableTotalCount parent listDemoData type table title="分页查询演示数据列表",
    width=900,pagination=true,query=search;
with listDemoDataT2 col joID head joID hide=true;
with listDemoDataT2 col demoTime head 日期 width=100;
with listDemoDataT2 col demoType head 类型 width=100;
with listDemoDataT2 col demoName head 名称 width=200;

保存web文件

然后清空sql文件,然后在其中输入:

sql sqlListDemoData
    from demoData as ta
    select ta.ID as joID,ta.CreateTime as demoTime,ta.Type as demoType,ta.Name as demoName
    orderBy ta.CreateTime DESC;

保存sql文件

注:现在提供的sql文件中含有还未讲到的内容,所以sql文件必须清空后再输入sqlListDemoData,否则上传后会出错

然后在op.py文件中增加:

@biz.Demand('disp','listDemoData')
@biz.OPDescr
def op1(json):
	#在快捷栏中添加一个新的快捷入口【演示->列表演示数据】
    json.setShortcut('演示'.decode('utf-8'),'列表演示数据'.decode('utf-8'))
    #指示listDemoData是一个数据表的查询功能,请求系统自动介入
    json.setParam('dispType','list')
    #指示从数据库中查询出来的结果是一个json数组
    json.setParam('resultType','json')
    #将上述的json数组发送到web中的哪个数据表
    json.setParam('listTable','listDemoDataT2')
    #为本次查询指定数据源,demo.sqlListDemoData定义在sql文件中
    json.setParam('dataSource','demo.sqlListDemoData')

保存op.py文件

然后上传web、sql、op.py这三个文件,并热机刷新并退出后重新登录。

注:由于我们在op.py文件中添加了新的快捷栏入口,所以必须重新登录才能看到刚添加的快捷栏中的入口

然后点击快捷栏【演示->列表演示数据】,就会看到一个带分页的数据列表:

分页数据表

我只输入了两次,而分页表每页默认是15行,所以大家看到的就只有一页。

条件查询

上面演示的数据查询用处非常有限,我们大多用到的都是带条件的查询,所以我们继续演示简单的条件演示。

首先在web文件中修改listDemoData界面

//分页查询的演示界面
web listDemoData type div;

//增加的是listDemoDataT1
web listDemoDataT1 parent listDemoData type table title="查询条件",width=900,alone=true;
with listDemoDataT1 row 0 col c0 web n type text text='类型:',width=150;
with listDemoDataT1 row 0 col c1 web n bind joType type combobox width=150,useText=true,
	values=[{'text':'类型甲'},{'text':'类型乙'}];
with listDemoDataT1 row 0 col c2 web n type text text='名称:',width=150;
with listDemoDataT1 row 0 col c3 web n bind joName type input width=150,
    placeholder="请输入名称...";

with listDemoDataT1 row 1 col c0 web n type button width=80,motion=cmd,demand=reSearch,text='搜索',onlyOnce=false;

//上面是增加的部分
web listDemoDataT2 bind tableTotalCount parent listDemoData type table title="分页查询演示数据列表",
    width=900,pagination=true,query=search;
with listDemoDataT2 col joID head joID hide=true;
with listDemoDataT2 col demoTime head 日期 width=100;
with listDemoDataT2 col demoType head 类型 width=100;
with listDemoDataT2 col demoName head 名称 width=200;

保存web文件

然后在capa.py文件中增加:

def setSearchCondition(self, db, ctx):
    if self.dataSource == 'demo.sqlListDemoData':
        cn = self.getInputString('joType')
        if utils.valid(cn):
            self.sql.addContion('demoData', 'Type', jxCompare.Equal,cn)
        cn = self.getInputString('joName')
        if utils.valid(cn):
            #Name是全文索引,要用Match算子
            self.sql.addContion('demoData', 'Name', jxCompare.Match,cn)

注:注意对齐

然后保存并上传capa.py、web,并热机刷新

然后点击快捷栏【演示->列表演示数据】,并输入条件就会看到条件查询的效果:

条件查询

大家试一下,在名称栏中只输入一个字【我】会是什么情况?

很奇怪是吧?输入【我的】能查出来,而只输出【我】反而查不出来。这是因为mysql的全文搜索要求关键字必须是两个字符以上。

此外,大家有没有发现一个问题,按钮【搜索】为什么会这么长?其是定义在c0列的,为什么不与上一行中的c0列的【类型:】对齐呢?!

大家看一下listDemoDataT1表的定义,会发现其多了一个属性:alone=true。这将指示listDemoDataT1表的每一行都是各自设置列宽的,而不会各行同列对齐。也就是说,listDemoDataT1表的1行就只有一列:c1列,所以它就占了整个的表宽。

详细的讲解,请大家参考下面参考资料中的相关文章。

参考资料:

jxTMS设计思想

jxTMS编程手册

下面的系列文章讲述了如何用jxTMS开发一个实用的业务功能:

如何用jxTMS开发一个功能

下面的系列文章讲述了jxTMS的一些基本开发能力:

jxTMS的HelloWorld

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/2102.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python网上选课系统django-PyCharm

学生选课信息管理系统,可以有效的对学生选课信息、学生个人信息、教师个人信息等等进行管理。 开发语言:Python 框架:django Python版本:python3.7.7 数据库:mysql 数据库工具:Navicat11 开发软件&#x…

RK3588平台开发系列讲解(NPU篇)NPU调试方法

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、日志等级二、NPU 支持查询设置项沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们一起来看一下NPU的调试方法。 一、日志等级 NPU 的运行库会根据开发板上的系统环境变量输出一些日志信息或者生成…

操作系统(2.4.5)--管程机制

1.管程的定义 利用共享数据结构抽象地表示系统中的共享资源,而把对该共享数据结构实施的操作定义为一组过程进程对共享资源的申请、释放和其它操作,都是通过这组过程对共享数据结构的操作来实现的,这组过程还可以根据资源的情况,或…

yolov8训练筷子点数数据集

序言 yolov8发布这么久了,一直没有机会尝试一下,今天用之前自己制作的筷子点数数据集进行训练,并且记录一下使用过程以及一些常见的操作方式,供以后翻阅。 一、环境准备 yolov8的训练相对于之前的yolov5简单了很多,…

【链表OJ题(九)】环形链表延伸问题以及相关OJ题

环形链表OJ题 1. 环形链表 链接:141. 环形链表 描述: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环&…

简单分析Linux内核基础篇——initcall

写过Linux驱动的人都知道module_init宏,因为它声明了一个驱动的入口函数。 除了module_init宏,你会发现在Linux内核中有许多的驱动并没有使用module_init宏来声明入口函数,而是看到了许多诸如以下的声明: static int __init qco…

Java之类与对象(图文结合)

目录 一、面向对象的初步认知 1、什么是面向对象 2、面向对象与面向过程 二、类定义和使用 1、简单认识类 2、类的定义格式 3、练习 (1)定义一个狗类 (2)定义一个学生类 三、类的实例化 1、什么是实例化 2、类和对象的…

CSDN 周赛38期题解

CSDN 周赛38期题解1、题目名称:代写匿名信2、题目名称:寻因找祖3、题目名称:小Q新式棋盘4、题目名称:拯救公主结束语1、题目名称:代写匿名信 小Q想要匿名举报XX领导不务正业! 小Q害怕别人认出他的字迹。 他…

【数据结构】Java实现双向链表

目录 1. 接口的实现 2. 动手实现双链表 2.1 重写SeqList接口方法 2.2 在当前链表尾部添加节点(尾插) 2.3 在当前链表头部添加节点(头插) 2.4 检验index是否合法 2.5 在 第index位置添加节点(任意位置) 2.6 …

【精品】华为认证数通HCIA+HCIP题库分享(含答案解析)

嗨~大家好久不见,我是薄荷学姐,随着华为业务也全球领域的迅猛发展,越来越多人开始重视华为认证的重要性。今天给大家分享一下去年8月份的题库,基本都是一样,希望可以帮助到大家哈想要通过华为认证,除了进行…

gdb调试工具和makemakefile工具

gdb调试工具和make/makefile工具 文章目录gdb调试工具和make/makefile工具一、gdb调试工具1.debug/release2.使用二、make/makefile1.什么是make/makefile2.编写一、gdb调试工具 1.debug/release 程序有两种默认的发布方式debug和release。release是无法进行调试的。Linux中g…

Bing+ChatGPT 对传统搜索引擎的降维打击

早些时候申请了新版 Bing 的内测资格,终于收到了通过的邮件。 一天的体验之后,我的感受是:当新版 Bing 具备了 ChatGPT 的聊天能力之后,它的能力不论是对传统搜索引擎,还是 ChatGPT 自身,都将是降维打击。 …

菜鸟刷题Day3

⭐作者:别动我的饭 ⭐专栏:菜鸟刷题 ⭐标语:悟已往之不谏,知来者之可追 一.字符串压缩:面试题 01.06. 字符串压缩 - 力扣(LeetCode) 描述 字符串压缩。利用字符重复出现的次数,编…

Python程序员看见一个好看的手机壁纸网站,开撸!

人生苦短,我用python 最近好像没什么大事, .那就采集一下小——姐——姐————看下吧~ python 安装包资料:点击此处跳转文末名片获取 最近有同学的爬虫代码出了bug,给问我怎么改 于是就发现了这个好看的手机壁纸网站。 这个图片应该是违规…

【Unity工具,简单学习】PUN 2,多人在线游戏开发,初步使用

【Unity工具,简单学习】PUN 2,多人在线网络工具前言简单介绍安装简单使用一些 nomenclature 部分连接到 Server设置简单的大厅UI游戏场景搭建关卡加载事后前言 链接 简单介绍 PUN 可以让你简单地开发多人游戏,在全球范围推出 让开发者不用…

【Java学习笔记】38.Java 发送邮件

Java 发送邮件 使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF) 。 您可以从 Java 网站下载最新版本的 JavaMail,打开网页右侧有个 Downloads 链接,点击它下载。 您…

MySQL注入秘籍【上篇】

MySQL注入秘籍【上篇】1.数据库敏感信息常用语句2.联合(UNION)查询注入3.报错注入原理常见报错注入函数1.数据库敏感信息常用语句 获取数据库版本信息 select version(); select innodb_version;获取当前用户 select user();获取当前数据库 select database();数…

高数重点总结

高数 公式不要去死记 配合训练题在训练中记忆 完成一下这些题目 高中函数图像回忆 与其记忆各种公式不如去思考他们的本质 这和调用c动态库可不一样 考试的时候你相当于在使用汇编答题 1 定义域(x) 性质 1/x(x!0)√x(x>0 || x0)log a x (x>…

血氧仪是如何得出血氧饱和度值的?

目录 一、血氧饱和度概念 二、血氧饱和度监测意义 三、血氧饱和度的监测方式 四、容积脉搏波计算血氧饱和度原理 五、容积脉搏波波形的测量电路方案 1)光源和光电探测器的集成测量模块:SFH7050—反射式 2)模拟前端 六、市面上血氧仪类型…

Spring 源码解析 - Bean创建过程 以及 解决循环依赖

一、Spring Bean创建过程以及循环依赖 上篇文章对 Spring Bean资源的加载注册过程进行了源码梳理和解析,我们可以得到结论,资源文件中的 bean 定义信息,被组装成了 BeanDefinition 存放进了 beanDefinitionMap 容器中,那 Bean 是…
最新文章