帖子
帖子
用户
博客
课程
显示全部楼层
22
帖子
2
勋章
1698
Y币

列表获取查询数据问题

[复制链接]
发表于 2023-12-13 10:20:48
请问如何获取到列表的所有查询数据呀,yya.getGridModel().getAllData()只能获取到第一页的数据,但是我总共查询到的数据是一共有23条,每页10条分成3页,请问该如何获取到所有数据,或者能监听到切换页面并且获取到切换后那一页码的列表数据
q

本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
yonyouhmm
143
帖子
2
勋章
4万+
Y币
最佳答案
监听afterSetDataSouce
这个是分页查询,虽然显示23条,但是并不是一次性查询出23条哦,所以只能获取一页的数据,分页获取就可以了,或者页条数设置大点。
22
帖子
2
勋章
1698
Y币
chyd · 2023-12-13 12:21这个是分页查询,虽然显示23条,但是并不是一次性查询出23条哦,所以只能获取一页的数据,分页获取就可以了,或者页条数设置大点。

请问我该如何获取到当前的的数据呀,用yya.getGridModel().getAllData()无论切换到第几页都是获取到的第一页数据
BIP422709 · 2023-12-13 14:16请问我该如何获取到当前的的数据呀,用yya.getGridModel().getAllData()无论切换到第几页都是获取到的第一页数据

viewModel.getGridModel().getData()说明:获取表格所有数据 用这个试试
22
帖子
2
勋章
1698
Y币
chyd · 2023-12-13 14:27viewModel.getGridModel().getData()说明:获取表格所有数据 用这个试试

老师是可以获取当前页数据的,只不过需要设置延时获取,我用pageInfoChange监听切换页码不设置延时是直接获取切换页码之前的数据,得设置延时才能获取到切换后的数据,请问还有其他什么函数是监听切换页码后的吗
  1. let filterViewModelInfo = viewModel.getCache('FilterViewModel');
  2. filterViewModelInfo.get('search').on('click', function() {
  3.         setTimeout(() => {
  4.                 let rows = viewModel.getGridModel().getRows()
  5.                 cb.rest.invokeFunction("PU.rule.Define001", {
  6.                                 rows: rows
  7.                         },
  8.                         function(err, res) {
  9.                                 if (err != undefined) {
  10.                                         cb.utils.alert(err.message)
  11.                                 } else {
  12.                                         let result = res.result
  13.                                         result.map(function(item, index) {
  14.                                                 if ("CPH" in item.define) {
  15.                                                         viewModel.getGridModel().setCellValue(item.index, "item956bd", item.define.CPH)
  16.                                                 }
  17.                                         })
  18.                                 }
  19.                         })
  20.         }, 1000)
  21. })
  22. viewModel.getGridModel().on('pageInfoChange',function(data){
  23. let filterViewModelInfo = viewModel.getCache('FilterViewModel');
  24.         setTimeout(() => {
  25.                 let rows = viewModel.getGridModel().getRows()
  26.                 cb.rest.invokeFunction("PU.rule.Define001", {
  27.                                 rows: rows
  28.                         },
  29.                         function(err, res) {
  30.                                 if (err != undefined) {
  31.                                         cb.utils.alert(err.message)
  32.                                 } else {
  33.                                         let result = res.result
  34.                                         result.map(function(item, index) {
  35.                                                 if ("CPH" in item.define) {
  36.                                                         viewModel.getGridModel().setCellValue(item.index, "item956bd", item.define.CPH)
  37.                                                 }
  38.                                         })
  39.                                 }
  40.                         })
  41.         }, 1000)
  42. })
复制代码


143
帖子
2
勋章
4万+
Y币
BIP422709 · 2023-12-13 14:39老师是可以获取当前页数据的,只不过需要设置延时获取,我用pageInfoChange监听切换页码不设置延时是直接获取切换页码之前的数据,得设置延时才能获取到切换后的数据,请问还有其他什么函数是监听切换页码后的吗

...

监听afterSetDataSouce
22
帖子
2
勋章
1698
Y币
本帖最后由 BIP422709 于 2023-12-21 16:52 编辑
yonyouhmm · 2023-12-18 10:53监听afterSetDataSouce
  1. viewModel.getGridModel().on('afterSetDataSouce',function(data){
  2.                 let rows = viewModel.getGridModel().getRows()
  3.                 cb.rest.invokeFunction("PU.rule.Define001", {
  4.                                 rows: rows
  5.                         },
  6.                         function(err, res) {
  7.                                 if (err != undefined) {
  8.                                         cb.utils.alert(err.message)
  9.                                 } else {
  10.                                         let result = res.result
  11.                                         result.map(function(item, index) {
  12.                                                 if ("CPH" in item.define) {
  13.                                                         viewModel.getGridModel().setCellValue(item.index, "item956bd", item.define.CPH)
  14.                                                 }
  15.                                         })
  16.                                 }
  17.                         })
  18. })
复制代码
感谢老师,这样设置是可以的
您需要登录后才可以回帖 登录

本版积分规则