请选择 进入手机版 | 继续访问电脑版

[编辑报告] 表格组件,过滤器相关

[复制链接]
天道酬勤 显示全部楼层 发表于 2021-10-19 11:41:40 |阅读模式 打印 上一主题 下一主题
10
已解决

表格组件,过滤器相关

  • 天道酬勤
  • 初级会员
  • 2021-10-19 11:41:40
  • 发布在 互助问答
823 34
要求是:河北南网 全省排名前十的单位 每个月各个指标的得分情况,只展示得分率不是100% 的 使用的组件是 表格组件
因为数据表中存放的是整个河北南网每月各指标的数据,为方便测试写的SQL
  SELECT * FROM XXX WHERE month = '9' ORDER BY ztdbl DESC limit 10
如果加过滤器的话如何实现呢?


下面是我写的未生效的脚本:
var tableData2 = getViewData("表2")
if(tableData2.get(1,3)  / 15 == 1) {
     var loc = new Locator(["c-3"], COL, DETAIL)
    2.setColWidth(loc, 0)
}
if(tableData2.get(1,4)  / 40 == 1) {
     var loc = new Locator(["c-4"], COL, DETAIL)
    2.setColWidth(1, 0)
}
if(tableData2.get(1,5)  / 10 == 1) {
     var loc = new Locator(["c-5"], COL, DETAIL)
    2.setColWidth(loc, 0)
}
if(tableData2.get(1,6)  / 5 == 1) {
     var loc = new Locator(["c-6"], COL, DETAIL)
    2.setColWidth(loc, 0)
}
if(tableData2.get(1,7)  / 5 == 1) {
     var loc = new Locator(["c-7"], COL, DETAIL)
    2.setColWidth(loc, 0)
}
if(tableData2.get(1,8)  / 5 == 1) {
     var loc = new Locator(["c-8"], COL, DETAIL)
    2.setColWidth(loc, 0)
}
if(tableData2.get(1,9)  / 5== 1) {
     var loc = new Locator(["c-9"], COL, DETAIL)
    2.setColWidth(loc, 0)
}
if(tableData2.get(1,10)  / 15 == 1) {
     var loc = new Locator(["c-10"], COL, DETAIL)
    2.setColWidth(loc, 0)
}

求助!!!

I`S{RY`LTM1F[UR4FNKI`ND.png

最佳答案

歪打正着专栏作者 关注Ta

2021-10-19 11:41:41

还有一种笨SQL的写法, (select * from XXX where month = '1月' order by ztdbl desc limit 10) union all (select * from XXX where month = '2月' order by ztdbl desc limit 10) union all (select * from XXX where month = '3月' order by ztdbl desc limit 10) 。 。 。 union all (select * from XXX where month = '12月' order by ztdbl desc limit 10)
查看完整内容
回复

使用道具 举报

精彩评论34

歪打正着 显示全部楼层 发表于 2021-10-19 11:41:41
本帖最后由 lijie 于 2021-10-19 16:53 编辑

还有一种笨SQL的写法,
(select * from XXX where month = '1月' order by ztdbl desc limit 10)
union all
(select * from XXX where month = '2月' order by ztdbl desc limit 10)
union all
(select * from XXX where month = '3月' order by ztdbl desc limit 10)



union all
(select * from XXX where month = '12月' order by ztdbl desc limit 10)
回复

使用道具 举报

天道酬勤 显示全部楼层 发表于 2021-10-19 11:44:42
刚刚的图片比较模糊

图片补充

图片补充
回复

使用道具 举报

歪打正着 显示全部楼层 发表于 2021-10-19 11:53:23
我建议你先DEBUG一下 tableData2.get(1,3),tableData2.get(1,4) ~ tableData2.get(1,10) 这些数据是什么?
回复

使用道具 举报

永洪tech-wisiy 显示全部楼层 发表于 2021-10-19 13:21:21
把你这里的(1,3),(1,4),第二个数字全部-1
回复

使用道具 举报

天道酬勤 显示全部楼层 发表于 2021-10-19 14:25:33
lijie 发表于 2021-10-19 11:53
我建议你先DEBUG一下 tableData2.get(1,3),tableData2.get(1,4) ~ tableData2.get(1,10) 这些数据是什么? ...

大神你好,debug的结果是下面列的第一个数值,难道要循环吗?也就是说是要循环所有行吗?而不是第 0+1 行吗?
回复

使用道具 举报

天道酬勤 显示全部楼层 发表于 2021-10-19 14:34:15
永洪tech-wisiy 发表于 2021-10-19 13:21
把你这里的(1,3),(1,4),第二个数字全部-1

首先,这些表头其实是一个个的度量,我直接拉过来的;然后,按照上面那个大神说的,debug了一下,结果是每个度量的第一个值(表头下面的第一个数值),按照您所说的设置为 -1,结果是 “数组下标越界异常”,下面是图片

图片

图片
6]_6]C}1%TRHO_FJP4T3FOS.png
回复

使用道具 举报

永洪tech-wisiy 显示全部楼层 发表于 2021-10-19 14:53:03
天道酬勤 发表于 2021-10-19 14:34
首先,这些表头其实是一个个的度量,我直接拉过来的;然后,按照上面那个大神说的,debug了一下,结果是 ...

get这个方法,里面两个参数分别代表行列数,前者为行后者为列,表格的行列数都是从0开始的,(1,3)代表第二行第4列的单元格
回复

使用道具 举报

天道酬勤 显示全部楼层 发表于 2021-10-19 14:55:58
永洪tech-wisiy 发表于 2021-10-19 14:53
get这个方法,里面两个参数分别代表行列数,前者为行后者为列,表格的行列数都是从0开始的,(1,3)代表第 ...

您好,那现在我需要拿到每个列下面的所有行的数据,是循环所有列、所有行吗?我需要拿到每个列下面的所有行的数据与满分相除,只要是都为1的话,就设置列宽为0
回复

使用道具 举报

歪打正着 显示全部楼层 发表于 2021-10-19 14:58:34
geiviewdata的方法是获取数据表中所有当前数据,所以你的tableData2中获取的数据是整个表格中的所有数据,其中你用tableData2.get(1,3)获取的是你表中的第二行第四列的数据。后面的以此类推。行和列都是以0为开始的。
比如tableData2.get(0,0) 获取的应该是‘是否百强’四个字。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
20W

会员等你来哦

Copyright   ©2012-2021  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |联系社区管理员|《永洪社区协议》
返回顶部 返回列表