如何在js中获取到页面视图树的选择值

大概场景就是:我在报表中 有一个表格里边是视图树组件,当我在选择了某一个视图树的值后,想把选择的值作为入参重新调用一次页面查询并刷新页面,所以涉及到在js中获取页面视图树的pick值,并且在js中赋值给 相应的sql入参参数

FineReport 帆软用户TUBHZVRtz3 发布于 2025-2-20 15:54
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
小陈PhLv3初级互助
发布于2025-2-20 17:36

在帆软FineReport中,如果你需要在JavaScript中获取页面视图树(通常指的是参数面板中的树形控件)的选择值,你可以通过FineReport提供的JavaScript API来实现。以下是一个基本的步骤和示例代码,帮助你实现这一目标。

步骤

确保你的树形控件已经正确配置:

树形控件通常用于参数选择,确保它已经被正确配置,并且绑定到了相应的数据集。

在需要获取选择值的地方添加JavaScript代码:

你可以在按钮点击事件、页面加载事件或其他事件中嵌入JavaScript代码。

使用FineReport提供的API获取树形控件的选择值:

FineReport提供了一些内置对象和方法,可以用于获取页面元素的值。对于树形控件,通常可以通过其ID来获取选择值。

示例代码

假设你的树形控件的ID是tree1,你可以使用以下JavaScript代码来获取其选择值:

javascript

复制代码

// 获取树形控件的选择值

function getSelectedTreeValue() {

    // 使用FineReport的内置对象FR获取页面元素

    var tree = FR.getWidgetByName("tree1");

    

    // 获取选中的节点值(假设返回的是一个数组)

    var selectedValues = tree.getSelectedValues();

    

    // 打印或处理选中的值

    console.log(selectedValues);

    

    // 如果需要进一步处理,可以在这里添加代码

    // 例如,将选中的值传递给其他控件或进行其他逻辑处理

}

 

// 绑定到某个事件,例如按钮点击事件

document.getElementById("yourButtonId").onclick = function() {

    getSelectedTreeValue();

};

注意事项

控件ID:确保tree1是你的树形控件的实际ID。如果ID不同,请替换为实际的ID。

事件绑定:上述示例中,我们将获取选择值的函数绑定到了一个按钮的点击事件。你可以根据需要将其绑定到其他事件,如页面加载完成等。

API兼容性:确保你使用的FineReport版本支持上述API。不同版本的FineReport可能会有一些差异。

调试:如果代码不工作,检查控制台是否有错误信息,并确保树形控件的ID和状态符合预期。

通过上述步骤和示例代码,你应该能够在FineReport中通过JavaScript获取页面视图树的选择值。如果有更具体的需求或遇到问题,建议查阅FineReport的官方文档或联系技术支持。

最佳回答
0
华莉星宸Lv7资深互助
发布于2025-2-20 15:57

决策报表的话

你选择值后是会直接查询的

控件名与参数名保持一致

  • 帆软用户TUBHZVRtz3 帆软用户TUBHZVRtz3(提问者) 我的这个 不在报表顶部的入参界面,在下边表格里边展示的也可以吗
    2025-02-20 16:09 
  • 华莉星宸 华莉星宸 回复 帆软用户TUBHZVRtz3(提问者) 最简单的方式 就放到参数栏。
    在表格里面,你需要写sql公式了,比较麻烦一些
    2025-02-20 16:16 
  • 帆软用户TUBHZVRtz3 帆软用户TUBHZVRtz3(提问者) 回复 华莉星宸 有复杂点的参考案例吗
    2025-02-20 16:20 
  • 3关注人数
  • 27浏览人数
  • 最后回答于:2025-2-20 17:36
    请选择关闭问题的原因
    确定 取消
    返回顶部