云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

全站加速_华为云主机登录_高性价比

小七 141 0

全站加速_华为云主机登录_高性价比

简介

在这个版本的Design Studio创新系列中,我将描述一种基于标准和SDK开发社区组件实现层次结构过滤器的方法,以利用两者的互补特性,我们可以用下拉框和列表框组件实现级联过滤器,但这两个组件都不适合层次结构,这是我将在这里提出的要求。

结果

该解决方案允许紧凑的、逐级的层次深入,大数据精准获客,可以选择逐级钻取或直接开始。在进入细节之前,下面是以动画gif形式显示的最终结果(如果图像不能立即开始播放,请单击图像。加载可能需要一点时间)。在本例中,层次结构过滤器正在驱动一个图表:

对于那些想直接使用它的人,在最后附上了一个示例BIAPP。对于那些对细节感兴趣的人,请继续阅读!…

背景

这篇文章的灵感来源于Oscar Olivares Pous提出的层次维度问题的级联过滤器。由于需求涉及固定的层次结构,我提出了一个仅依赖于基于交叉表组件的标准功能的解决方案,然后我进一步思考了如何扩展该解决方案,以实现动态过滤,从而在具有许多不同深度的层次结构中向下和向上钻取,如下所示?:

我们当然可以按原样使用交叉表组件,如上图所示,但当节点被展开和折叠时,这会变得很麻烦,当结构较大时,还需要滚动。同样,使用标准维度过滤器也需要节点操作和滚动,单击几下找到所需的项目,然后返回应用,如下所示:

方法

解决方案围绕一个标准的交叉表组件,因为与下拉框和列表框不同,它支持层次结构的显示和节点的选择。通过在分配给交叉表的数据源上应用setFilter()方法,一次向下钻取一个层次结构是相对直接的。但是,当我们需要实现向上钻取功能以在层次结构中向后移动时,问题就出现了我们需要"记住"钻取路径和父子关系。据我所知,单靠标准脚本是不容易做到这一点的。我们需要将钻取路径存储在某种可以操纵和查找的结构中,因此,我把SDK开发社区的designstudiosdk:Collection实用程序组件作为一个可能的候选组件,它做到了!

注意:集合实用程序组件目前似乎不允许删除特定的条目,因此用户第一次沿着特定的路径走时,会存储用户穿过的所有钻取路径。我认为Design Studio SDK:集合实用程序组件的一个巨大增强是对堆栈功能的支持Push和Pop方法。这将允许一个更有效的机制来记录和遍历钻取路径,并且只需要跟踪当前钻取路径。

现在让我们一步一步地细分。

数据源

以便允许逐级钻取,主数据源的初始视图配置如下,美国高防云服务器,扩展到2级:

组件

我的目标是实现一个模块化的、可重用的解决方案,所以在UI端我通过结合Home按钮有效地创建了一个复合组件,面板组件中的后退按钮和交叉表:

在大纲面板中,它看起来像这样:

为了跟踪钻取路径,我使用了使用Design Studio SDK实现的两个集合:集合实用程序组件:

层次集合跟踪钻取路径,变量集合跟踪上一个允许反向备份钻取路径的节点。我可能可以使用全局脚本变量来执行与变量集合相同的功能,但我认为这将有助于使解决方案更加模块化。

出于演示目的,我还包括SDK开发社区Fiori应用程序头组件。

CSS

我有改编了Haripriya Gopi的非常有用的交叉表默认选择方法,以实现以下功能:

应用程序的CSS文件已命名默认选择.css并由以下代码组成:

CSS文件应分配给如下所示的应用程序属性:

CSS类highlightrow应该分配给交叉表组件,如下所示:

全局脚本变量

我定义了一组常量作为全局脚本变量,以便集中维护,如下所示:

全局脚本函数

保持代码模块化,啥叫大数据,在HIERARCHY\u FILTER global scripts对象下创建了几个脚本函数,如下所示:

每个函数都是独立的,所有必要的外部数据都作为输入参数传递。全局脚本函数的一大特点是,您甚至可以作为参数和参数传入组件和数据源然后对这些执行操作,例如设置属性或过滤,因此,如果需要,您可以对多个组件/数据源应用相同的标准过程。

我现在将按逻辑顺序描述每个函数。

初始化:

此函数从应用程序的"启动时"事件脚本调用。它执行以下主要任务:

它需要以下参数:

脚本编码如下:

向下钻取:

此函数从过滤器交叉表的"On Select"事件脚本调用,它是整体功能的引擎,执行以下主要任务:

需要以下参数:

脚本编码如下:

过滤器目标:

此函数为从深入调查中得知,返回和主页功能。它执行以下主要任务:

它需要以下参数:

脚本编码如下:

返回:

此功能从"返回"按钮的"点击"事件脚本调用。它执行以下主要任务:

它需要以下参数:

脚本脚本编码如下:

主页:

此功能从主页按钮的"点击"事件脚本调用,物联网解决方案,它执行以下主要任务:

需要以下参数:

脚本编码如下:

启动脚本:

组件脚本:

交叉表:

主页按钮:

返回按钮:

结论

我希望这里描述的层次过滤方法对你们这些有这样要求的人有用。以上动画演示中的BIAPP附在附件中。

欢迎评论和提问。

享受。

博客系列索引:Design Studio Innovation Series–欢迎

附在附件中应用程序不适用于DesignStudio 1.5。

在导入过程中,文件SCN\U BLOG\U HIERARCHY\U FILTER出现以下错误消息_演示.zip它不是一个有效的导出文件。

(包括拼写错误不是而不是不是)

此外,示例代码中有一些错误

使用了变量"pDrillDimension",但是不存在。猜猜"cDrillDimension"是正确的。

此外,部件说明:

交叉表和主页按钮

不完整/错误。

您好,