一、说明
列表的加载的过程主要是,对列表页面初始化和加载,对过滤方案页面进行加载和解析,最后进行取数并把数据发回客户端的过程,主要触发点包括点击菜单和选择过滤方案,下推对两种加载过程进行大概描述。
二、点击菜单加载列表的过程
客户端发送第一个指令“列表视图点击事件”
1、触发列表视图点击事件 ListViewClick
2、构建列表打开参数,并发回客户端
客户端发送第二个指令“加载列表页面数据LoadData”
1、大概过程包括,初始化ListView
2、初始化ListModel,加载用户参数 ,初始化实体服务规则,
3、初始化过滤器界面,加载默认过滤方案,初始化组织隔离,构建过滤参数等
4、最后触发列表初始化后事件 ListInitialize,并发回客户端
5、跟加载单据新增页面差不多,只是新增页面没有过滤方案的初始化,参考贴:新增页面服务端加载过程
客户端发送第三个指令,“取列表数据GetEntryData”
1、调用ListView的有权数据接口GetDataByPermission
2、调用ListModel的GetData接口
3、调用DirectSQLDataAccess解析过滤参数,产生sql脚本,得到数据
4、对数据解析格式化处理,触发列表格式化事件FireFormatCellValue
5、触发列表行数据格式化事件 FireFormatRowConditions
6、形成JSON数据包指令
7、触发序时薄获取数据后事件 FireAfterGetData
8、返回数据给客户端指令
三、选择过滤方案加载列表的过程
1、过滤方案点击事件,可以参考 【BOS】--保存菜单服务端运行过程
2、加载过滤方案数据,可以参考 新增页面服务端加载过程
3、选择相应的过滤方案按确定
4、触发按钮点击事件
5、解析过滤参数,取列表数据GetEntryData
四、取列表数据涉及到的插件事件
1、列表格式化事件FireFormatCellValue
2、列表行数据格式化事件 FireFormatRowConditions
3、序时薄获取数据后事件 FireAfterGetData
推荐阅读