[线上预览](https://bootapi.jeecg.com/jmreport/view/1351426064915763200) ----- ## 基本使用说明如下 1.准备json数据集数据(数据集编码test): ``` { "data": [{ "region": "华东", "sales": 1000, "gifts": 100, "month": "1月" },{ "region": "华东", "sales": 2000, "gifts": 200, "month": "2月" },{ "region": "华东", "sales": 3000, "gifts": 300, "month": "3月" },{ "region": "华北", "sales": 5000, "gifts": 600, "month": "1月" },{ "region": "华北", "sales": 6000, "gifts": 600, "month": "2月" },{ "region": "华北", "sales": 7000, "gifts": 600, "month": "3月" },{ "region": "华南", "sales": 8000, "gifts": 300, "month": "1月" },{ "region": "华南", "sales": 9000, "gifts": 300, "month": "2月" },{ "region": "华南", "sales": 9000, "gifts": 300, "month": "3月" },{ "region": "东北", "sales": 6000, "gifts": 200, "month": "1月" },{ "region": "东北", "sales": 2000, "gifts": 200, "month": "2月" }] } ``` >[danger] **在普通列表中,数据的列都是固定的,而本例中数据的列有部分是取之于数据值,故称 `动态列`,所以有些数据值必须是有规律的重复出现,如上述数据的`region`和`month`** 2. 设计 - 字段录入:将左侧数据集字段依次拖入对应单元格 ![](https://img.kancloud.cn/5c/bd/5cbde8c803c73867f62cac47c6fc9209_996x200.png) - 纵向设置: ![](https://img.kancloud.cn/42/3e/423e4f5cf5edff2e7aa5e308eca3d9a4_1633x510.png) - 横向设置: ![](https://img.kancloud.cn/e5/bf/e5bfc91360790bb4480319b4b10747b5_1632x504.png) - 动态属性设置: ![](https://img.kancloud.cn/b1/bb/b1bb0de31a8a53b2e548a0e5effa3512_1634x511.png) 3. 预览展示: ![](https://img.kancloud.cn/93/09/930979d1bcf1376784df26cec005f1e8_1195x267.png) 4. 转换: 设计不变,只是把月份和地区调换一下: ![](https://img.kancloud.cn/fb/c1/fbc1c13a306bb0a9cc3914f9d7689067_632x203.png) 预览效果如下: ![](https://img.kancloud.cn/77/9c/779c720ebc5906103377e7fd77b5c1ba_1401x252.png) ---- ## 总结: >[danger] 1、组合动态列 即横向、纵向分组的组合使用。 > 2、必须有纵向分组字段:`#{test.group(字段名)}` 3、必须有横向分组字段:`#{test.groupRight(字段名)}` 4、横向分组下必须有`动态列`;动态列数据必须设置成`动态属性 #{test.dynamic(字段名)}` 5、数据如果不完整,会出现空单元格,如上例的东北3月的数据