html - 如何从 icCube 中的 html 下拉列表触发事件

标签 html events olap iccube iccube-reporting

我有以下用于列出月份的下拉菜单的代码。

<select>
 {{ for( var col = 0; col < d.colCount; col++ ) { }}  <!-- This is the way adding js code -->
<option value="[Time].[Month].[month].[{{=d.colLabel(col) }}]">{{=d.colLabel(col) }}</option>
{{ } }}

当用户选择一个选项时,应该触发一个名为 Month 的事件。我如何在 icCube OLAP 中做到这一点。

最佳答案

有几种可能性可以实现所需的功能

单元格点击功能

有一个特殊属性,允许单击名为ic3a的特定数据单元格 read more...

<select>
{{ for( var col = 0; col < d.colCount; col++ ) { }}
    <option ic3a="fireClick(0,{{=col}})" value="[Time].[Month].[month].[{{=d.colLabel(col) }}]">
        {{=d.colLabel(col) }}
    </option>
{{ } }}
</select>

您应该在选项的“事件”选项卡中为“单击单元格时”指定事件名称:“月”。

外部代码

如果您有权访问 ic3Reporting 实例

例如:

var ic3Application = ic3.startReport(options);

并且想要使用站点上的代码处理当前功能,您可以通过以下方式触发 ic3 内部事件:

<script type="text/javascript">
    //get ic3application instance

    var ic3Application = ic3.startReport(options);

    function selectMonth (value) {
        ic3Application.fireEvent("month", new viz.event.ValueEvent(value))
    }    
</script>
<select onchange="selectMonth(this.value)">  
    {{ for( var col = 0; col < d.colCount; col++ ) { }}
    <!-- This is the way adding js code -->
    <option value="[Time].[Month].[month].[{{=d.colLabel(col) }}]">
       {{=d.colLabel(col)}}
    </option>
    {{ } }}
</select>

ic3 过滤器小工具

适合当您想要从多维数据集获取预定义月份的列表时。 添加 MDX 过滤器 > ICCUBE > 下拉小部件并按需要的方式配置其设置。

ic3 ACTION 小部件

当您有特定的月份列表时,此选项适合。

只需创建“工具/实用程序”>“操作”>“下拉小部件”,并在“项目向导”选项选项卡中提供所需的月份,并在“事件”选项卡中将“月份”设置为“选择时”事件名称的值。

关于html - 如何从 icCube 中的 html 下拉列表触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36876698/

相关文章:

html - 我如何拥有图例的 fieldset::before 规则帐户?

javascript - 来自 php GET 的清除消息

javascript - 如何在 meteor 模板助手中执行事件冒泡

android - 单击 webview 区域时启动事件

javascript - 从子元素设置父样式

javascript - 单击更改类别

events - 如何使用 SwiftUI 和 Combine 检测 Datepicker 的值变化?

缺少边界日期的 MDX 日期范围查询

hadoop - 使用 rest API 创建 Apache kylin cube

java - CSV文件的数据聚合java