先看效果:
20240106-094943
看他的第一要求:
1.整个模板只能出现一个数据集,下拉复选框与报表主体共用一个数据集,且不影响互相显示。
? ? ? ? 所以这里不能通过SQL语句来过滤,SQL语句中中只能全部查询出来,这样保证了下拉框的数据是全部,单元格里的数据只能通过数据列过滤来实现。
? ? ? ? 数据集的设置:
????????
定义模板参数 productName来存储下拉框的值:
下拉框绑定数据集:
????????
? ? ? ? 下拉框的控件名字改为 productName,绑定模板参数
? ? ? ? 控件值设置为数据集ds1,
? ? ? ? 返回值为数组,返回值里放的是产品名。
模板布局:
????????
选中C1单元格双击出现过滤选项
????????
这里设置列的过滤条件,就是产品名这一列的值要属于变量productName中的元素,并且如果量productName中没有值,就不过滤,这样配:
公式里这样写:if(len($productName)==0,nofilter,$productName)
然后运行模板,初步做到了下拉框里是所有的商品名,选中商品,查询出来的结果就是谁。