帆软报表点击单元格获取同一行其他列的值并调用数据集进行传参数的完整案例
时间: 2025-01-01 07:40:10 浏览: 20
帆软报表(FineReport)是一款强大的商业智能报表工具,它支持通过事件驱动的方式来实现单元格的交互功能。下面是一个基本的例子,展示如何在帆软报表中点击单元格后获取同一行其他列的值,并利用这些值作为参数动态调用数据集:
1. **步骤一:创建数据表和字段**
首先,在数据模型设计中,你需要定义好数据表和相关的字段,例如`ID`、`Name` 和 `Value` 等。
2. **步骤二:设置单元格事件**
在表格的单元格上右键选择“属性”,然后找到“事件”部分。你可以添加一个"onCellClick"事件,这是点击单元格时触发的动作。
3. **步骤三:编写JavaScript代码**
在事件处理函数中,通常会使用`event`对象,其中包含了点击单元格的相关信息。例如:
```javascript
function onClickCell(event) {
var clickedRow = event.rowIndex; // 获取点击行索引
var clickedColumn = event.columnIndex; // 获取点击列索引
var valueToPass = report.getData()[clickedRow][clickedColumn + 1]; // 假设Value列在Columns之后,这里+1是因为数组索引从0开始
var dataSetParams = {param1: valueToPass}; // 创建参数对象,将Value值传入
// 调用数据集,假设数据集名为dsMyDataSet
report.executeAction('dataset', 'dsMyDataSet', dataSetParams);
}
```
在这个例子中,我们假设`Value`列在`ID`列的右边,所以需要加1来获取对应的值。
4. **保存并预览报告**
最后,记得保存报表,打开报表并在浏览器中测试点击单元格的行为,看是否能正常获取值并传递给数据集。
阅读全文