框架默认的表头过滤功能是根据表格设定的query,去元数据中取得列属性相应的信息来实现的。如果表格取数是自定义的,没有query或者想修改框架的逻辑,也有相应的接口可以实现。
扩展表格的customFilterAttributes事件。
实现自定义表头过滤事件
返回需要过滤的每一列的过滤配置信息,是个JSON数组。
例如:
效果图:
说明:
表头过滤的列的属性一共分成4种
框架默认实现(可供参考和调试):
前端:grid.wafbase.js
后端:com.kingdee.bos.webframework.component.datagrid.DataGridController
表头过滤时,过滤条件会合并到filterItem属性中
将这种json格式转化成sql字句的方法:
前端(转化完会有sql注入风险,建议后端处理):
waf.parseSql.transFilter(filterItems);
后端:
com.kingdee.bos.webframework.sql.SqlUtils.getFilterItems(String, String[], HttpServletRequest)