最终效果图如下:
需要实现的效果:
- 多列多源,不进行分页显示。数据来自地区、供应商、雇员三个数据源。
- 列冻结,行冻结
其实,我最想总结的还是数据绑定,以及显示。我总感觉有点迷!
数据表:类别表、产品表、订单表、订单明细表、供应商表
三个数据源sql语句:
ds1: 类别、产品id、产品名称、产品对应供应商ID
ds2:雇员ID、货主地区、产品ID、该订单明细对应的金额 (可按照雇员、地区进行分类展示)
ds3: 产品ID、该产品在该项订单明细中对应的金额、产品对应供应商 (可按照产品进行分类展示)
具体界面设计;
样式部分在此忽略!单纯分析数据绑定以及其他一下细节设置。
- 绿色左上:代表在单元格形态方面有设置(数据字典)。
- 黄色左下:代表此单元格有条件过滤。
- 之所以合并A45绑定类别数据,是为了让每个小计跟随每个类别有统计,但是下方的合计是对总数据的计算。观察仔细一点,其实C5和C6绑定的函数一致,但是由于C5在对应的类别分组中,它统计的只是分组中的数据!C6统计全局。
- 注意C4、E4和G4 的数据绑定!先绑定ds2,ds3的金额列,再进行产品的分组求和(其父子格默认左单元),也就是按产品进行分组求和,不扩展!
- 如果产品名称(B45)同C4、E4和G4来自同一数据源,则不需要进行数据过滤,原因是C4、E4和G4默认父子格为左格扩展。但在这里,产品名称来自ds1,C4和G4来自ds2,E4来自ds3,如何让他们之间的数据按照产品对应起来?三个单元格进行数据过滤,过滤条件为 :
![]()
- 冻结行和列。在模板——>重复和冻结——>冻结相应行和列。
- 当列数据较多时,如何让列不分页?在分页预览中url末尾加上 &__bypagesize__=false
就总结这么多吧