finereport中的row函数
时间: 2023-12-07 11:04:17 浏览: 379
在Finereport中,row函数用于获取当前行的行号。该函数的语法如下:
row()
该函数没有参数,直接调用即可。在数据集中,每一行都有一个行号,从1开始递增。使用row函数可以获取当前行的行号,并在报表中进行使用。例如,可以在表格中显示当前行的行号,或者根据行号进行条件判断和计算等操作。
相关问题
from django.db import connection def my_custom_sql(self): with connection.cursor() as cursor: cursor.execute("""SELECT [WHSE_PTR] , [SALES_ORDER] , [CP_REV] , [CUSTOMER_PART_NUMBER] , [INTIME] , [stat] FROM[fineReport].[dbo].[lCSRM5604] where stat = 1""") row = cursor.fetchone() return row def zhaowenjian(row): print(row) 不显示
可能是因为你没有调用 `my_custom_sql` 函数,或者调用后没有传入结果参数。你可以尝试这样调用:
```
row = my_custom_sql()
zhaowenjian(row)
```
这样应该就能正确显示查询结果了。另外,你也可以在 `my_custom_sql` 函数内部添加打印语句,来确认查询是否成功执行。
Finereport11公式定义里如何写能自动生成连续的序号
在FineReport 11中,如果你想在公式定义里实现类似计数或者自动生成连续序号的功能,你可以使用内置的函数`ROW_NUMBER()`。这函数会为每一行分配一个唯一的数字,从1开始递增。下面是一个基本的例子:
```xml
<jr:variable xmlns:jr="http://jasperreports.sourceforge.net/jasperreports" name="rowNumber" class="java.lang.Integer">
<jr:initExpression><![CDATA[rowNum = $F{your_report_field}.indexOf(".") + 1]]></jr:initExpression>
<jr:expression><![CDATA[$V{rowNum}]]></jr:expression>
</jr:variable>
```
在这个例子中,假设`$F{your_report_field}`是一个包含日期或者其他分隔符的字段,我们计算出该字段中"."的位置加一,得到起始位置,然后使用`ROW_NUMBER()`函数为当前行分配一个连续的序号。
请注意,`ROW_NUMBER()`通常用于分组时,如果你不需要按组分页,那么`$V{pageRowNumber}`或者`$V{pageBandIndex}`可能会更适合你的需求,它们分别表示页面内的行号和报表带(band)索引。
阅读全文