找文章 / 找答案
精选问答 更多内容

怎么添加排序组件

lyoewei青铜三 显示全部楼层 发表于 2021-2-1 17:21:03 |阅读模式 打印 上一主题 下一主题
我们的自助报表能否添加排序组件?增加3个组件,或者三个下拉选项也行。

微信截图_1.png 微信图片_2.jpg

回复

使用道具 举报

精彩评论13

永洪tech-A白银一 显示全部楼层 发表于 2021-2-1 17:54:43
您现在的需求是根据下拉选择进行动态的排序?
回复 支持 反对

使用道具 举报

lyoewei青铜三 显示全部楼层 发表于 2021-2-1 18:01:37
永洪tech-A 发表于 2021-2-1 17:54
您现在的需求是根据下拉选择进行动态的排序?

下拉、按钮,都可以。只要能实现动态排序
回复 支持 反对

使用道具 举报

永洪tech-A白银一 显示全部楼层 发表于 2021-2-1 18:37:01
lyoewei 发表于 2021-2-1 18:01
下拉、按钮,都可以。只要能实现动态排序

按钮可以实现,你就得用脚本编写,每次点击都得重新绑定一次字段,然后再topN排序
回复 支持 反对

使用道具 举报

lyoewei青铜三 显示全部楼层 发表于 2021-2-2 08:42:04
永洪tech-A 发表于 2021-2-1 18:37
按钮可以实现,你就得用脚本编写,每次点击都得重新绑定一次字段,然后再topN排序 ...

求教程,给做个视频普及一下吧?
回复 支持 反对

使用道具 举报

永洪tech-A白银一 显示全部楼层 发表于 2021-2-2 09:16:00
lyoewei 发表于 2021-2-2 08:42
求教程,给做个视频普及一下吧?

这里有一个脚本实现topN和动态绑定列的脚本案例你可以看一下

新建文件夹.zip

99.36 KB, 下载次数: 82

回复 支持 反对

使用道具 举报

lyoewei青铜三 显示全部楼层 发表于 2021-2-2 10:04:47
永洪tech-A 发表于 2021-2-2 09:16
这里有一个脚本实现topN和动态绑定列的脚本案例你可以看一下

我打不开,帮忙放到记事本里发一下吧,谢谢
回复 支持 反对

使用道具 举报

永洪tech-A白银一 显示全部楼层 发表于 2021-2-2 10:18:37
lyoewei 发表于 2021-2-2 10:04
我打不开,帮忙放到记事本里发一下吧,谢谢

您需要导入到系统里看哦,我发的demo,比较直观的
TOPN:/加载执行
//创建底层字段,(名称,字段类型,是否是维度字段)
var bcol=new BCol("Product",STRING,true);
//创建图表所用的维度字段
var d=new ChartDimCol(bcol);
//sortRank设置高级排序中的TopN
d.sortRank=5;
//sortType设置排序类型(降序)
d.sortType=SORT_VALUE|2
var bcol1=new BCol('Sales',INTEGER,false)
var d1=new MeasureCol(SUM,bcol1,null)
//sortBy设置高级排序字段
d.sortBy=d1
//sortGroupOthers设置排序区域
d.sortGroupOthers=true;
//给颜色绑定字段
图表1.binding.markCol["Sum_Sales"].colorField=d;

文本参数1.value=5
var top=文本参数1.value

//运行执行
if(top!=文本参数1.value){
top=文本参数1.value
d.sortRank=top;
d.sortType=SORT_VALUE|2
d.sortBy=d1
d.sortGroupOthers=true;
图表1.binding.markCol["Sum_Sales"].colorField=d;
}

回复 支持 反对

使用道具 举报

永洪tech-A白银一 显示全部楼层 发表于 2021-2-2 10:21:31
lyoewei 发表于 2021-2-2 10:04
我打不开,帮忙放到记事本里发一下吧,谢谢

动态绑定列://通过判断列表参数的值与表格绑定的值的数量相等,不相等则清空表
    if(Table1.binding.colCount>(param1.getSelectedObjects().length+param1.getSelectedObjects().length)){
        Table1.binding.clearCols();
    }
    //循环绑定度量字段
    for(var i=0;i<param2.getSelectedObjects().length;i++){
        Table1.binding.addCol(i,new MeasureCol(SUM,new BCol(param2.getSelectedObjects(),DOUBLE,false),null));
    }
    //循环绑定维度字段
    for(var j=0;j<param1.getSelectedObjects().length;j++){
        Table1.binding.addCol(j,new DimCol(new BCol(param1.getSelectedObjects()[j],STRING,true)));
    }
回复 支持 反对

使用道具 举报

lyoewei青铜三 显示全部楼层 发表于 2021-2-2 11:43:41
永洪tech-A 发表于 2021-2-2 10:21
动态绑定列://通过判断列表参数的值与表格绑定的值的数量相等,不相等则清空表
    if(Table1.binding.c ...

确实比较难,能远程支撑一下吗,谢谢!
回复 支持 反对

使用道具 举报

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

会员等你来哦

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