【Datagear】使用参数时的If语法

【背景】

Datagear强大的参数功能可以让用户自由定制查询参数,并且在查询条件逻辑中可以使用语法,其中所用最多的语法就是if了。

【语法示例】

datagear中,if的各类语法如下:

<#if 条件></#if>

<#if 条件>...<#else>...</#if>

<#if 条件>...<#elseif 条件>...<#else>...</#if>

条件:

参数名??

当用户填写了参数名对应的值时为true, 否则为false,可用于处理非必填参数。

参数名

布尔参数值为true时。

!参数名

布尔参数值为false时。

参数名 == "..."

参数名 != "..."

字符串参数值等于、不等于。

参数名 == ...

参数名 != ...

参数名 gt ...

参数名 gte ...

参数名 lt ...

参数名 lte ...

数值参数值等于、不等于、大于、大于等于、小于、小于等于。

条件1 || 条件2

条件1 && 条件2

!条件

条件组合:或、与、非。

示例:

sql 复制代码
SELECT NAME, VALUE FROM T_ANALYSIS
WHERE NAME = '${name}'
<#if 最小值??>
AND VALUE >= ${最小值}
<#else>
AND VALUE IS NOT NULL
</#if>
<#if 名称集合??>
AND NAME IN
(
  <#list 名称集合 as item> '${item}' <#sep>,</#sep></#list>
)
</#if>
<#if ascByName>
ORDER BY NAME ASC
</#if>
<#if limitCount??>
limit 0, ${limitCount}
</#if>
相关推荐
DTrader4 小时前
用TS无法实盘量化? - 实盘均线策略
前端·api
进击的夸父4 小时前
vfojs:Vue 超集架构,外壳React灵魂Vue
前端
编程老船长4 小时前
解决不同项目需要不同 Node.js 版本的问题
前端·vue.js
Wect4 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·算法·typescript
漫游的渔夫4 小时前
前端开发者做 Agent:别写成一次请求,用 5 步受控循环防止 AI 乱跑
前端·人工智能·typescript
存在的五月雨5 小时前
Mysql 索引的一些
数据库·mysql
黄俊懿5 小时前
MySQL主从复制:从“异步“到“GTID“,数据同步的进化之路
数据库·sql·mysql·oracle·架构·dba·db
薛定猫AI6 小时前
【深度解析】Gemma Chat 本地 AI 编程 Agent:Electron + MLX + 开源模型的离线 Vibe Coding 实战
javascript·人工智能·electron
kyriewen6 小时前
Webpack vs Vite:一个是“老黄牛”,一个是“猎豹”,你选谁?
前端·webpack·vite
打小就很皮...6 小时前
html2canvas + jsPDF 生成 PDF 的踩坑与解决方案总结
前端·pdf