[{"id":"bcb0874d-299b-448e-9552-9e9b25ef80dd","tags":[{"product":null,"links":null,"id":"ba7e818e-4f6b-4211-b1ac-58e3bafcf439","name":"\u66F4\u65B0","color":"orange","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"8ce3627e-9e58-471b-9133-4f135d191e7b","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"ae60ae59-34f5-4f32-a8eb-243ed1457543","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"3d4848c3-910f-4ffa-9153-60bb507334a9","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"133f4ca6-d951-4d65-a618-3dc6301266f7","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"de62ec1c-813e-40b1-8160-a4cd109afe64","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"2426c71d-8332-4cbd-a436-1ec4f8666464","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"2ce7b6b0-78aa-4e4b-bf8a-e4ba2f988298","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"4706db46-0811-4652-8f59-1e0a1da84758","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"8f1271bb-2cd9-4f39-9897-c15b239ee7ab","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"677e13a7-6f3e-449f-986c-2c3a26f8d54f","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"5e40f6dc-caec-49d7-a1d0-be65f06815ba","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"2457f0e0-9e71-4860-a87d-065e0fb84f84","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"d5c67fd0-1145-482c-9113-97b492c44c18","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"a609a8fa-ab91-4c1d-a1c3-d209d0463303","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"b4a9eb15-94e5-48df-b218-a24138f0cf9c","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]}]
        
(Showing Draft Content)

动态显示行列

功能概述

动态显示行列功能与动态显示组件类似,允许用户自定义或者根据登录用户的身份权限来控制行列是否显示。文中以动态列为例为您进行介绍。

image2020-6-10_18-3-3.png


根据用户的角色权限控制表格列的动态显示,以下为两种角色查看同一张报表时的效果。

image2020-6-10_18-10-9.png

image2020-6-10_18-10-28.png

type=info

提示

在制作动态显示列时,建议您将每一列的自动列宽属性设置为按比例划分,这样的话最后显示时将根据当前所勾选的列数自动调整列宽。

image2021-5-17_11-51-50.png

动态列的实现方法与动态显示组件类似,以下为您介绍具体的实现步骤。

用户自定义表格列

1. 新建报表,添加基于WynDemoData 的数据集,并创建表格组件,绑定数据字段。

image2020-11-5_15-1-43.png


2. 添加一个报表参数,并按下图所示编辑参数设置项。

image2020-6-10_17-57-14.png


3. 单击表格上方对应的操作块,选中表格列,然后在属性设置面板中找到显示选项下的隐藏设置项,单击右侧的小方块,然后选择表达式

image


4. 在表达式编辑器中输入表达式: {IIF(Join(@P1, ",").IndexOf("订单编号") >= 0, false, true)}

表达式含义:先将参数P1转换成字符串,然后检测是否包含“ 订单编号 ”,如果包含则返回“ False ”,如果不包含则返回“ True ”。

由于表达式是添加在了隐藏设置项中,因此如果返回“ False ”也即不隐藏,返回“ True ”则隐藏。

image2022-1-14_15-1-37.png


5. 同理,为其他的表格列的隐藏设置项添加表达式,并将表达式中 IndexOf的参数值更换为表格列对应的字段名。

image2020-11-5_15-5-33.png


6. 预览报表,可见已经实现组件的动态控制效果。

image2020-6-10_18-2-52.png

根据用户权限动态显示表格列

1. 新建报表,添加基于WynDemoData 的数据集,并创建表格组件,绑定数据字段。

image2020-11-5_15-13-58.png


2. 比如我们需要动态控制“ 产品单价 ”数据列,选中表格列,然后打开表格列隐藏属性的表达式编辑器。

image2021-5-17_11-49-46.png


3. 在表达式编辑器中输入表达式: {IIF(Join(UserContext.GetValues("role"), ",").IndexOf("administrator") >= 0, false, true)}

表达式含义:先获取到当前登录用户的角色值并将其转换成字符串,然后检测是否为“ administrator ”,如果是则返回“ False ”,如果不是则返回“ True ”。

由于表达式是添加在了隐藏设置项中,因此如果返回“ False ”也即不隐藏,返回“ True ”则隐藏。

image2022-1-14_15-2-30.png


4. 预览报表。当前登录用户为 administrator,因此可以看到“ 产品单价 ”列;如将文档分享给其他角色并切换至其他角色的用户登录,则不能看到。

image2020-6-10_18-10-28.png

type=info

提示

在制作动态显示列时,建议您将每一列的自动列宽属性设置为按比例划分,这样的话最后显示时将根据当前所勾选的列数自动调整列宽。

image2021-5-17_11-51-50.png