正在处理 iReport 4.0.1
我可以将多个值传递给参数,如:
select name,id from temp where name in (xxx,zzz,yyy)
我可以使用 iReport 4.0.1 实现。我甚至尝试使用$X{In, column name, parameter name}
这种语法但是不成功。
任何人都可以帮助我如何实现它
答案 0 :(得分:0)
我解决了同样的问题如下:
select name,id from temp where name in ($P!{parameter_name})
答案 1 :(得分:0)
使用参数类<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
>
<TextView
android:id="@+id/option"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
/>
</LinearLayout>
创建参数。让我们假设参数名称是 tmpNames 。 (https://demo.docusign.net/Member/StartInSession.aspx?StartConsole=1&t=<GUID>&DocuEnvelope=<ENVELOPEID>&send=1
)
并将您的参数放入查询中,如下所示:
java.util.Collection
不要忘记将一组名称传递给$P{tmpNames}
参数。
select name,id from temp where $X{IN,name,tmpNames};
答案 2 :(得分:0)
请按照以下步骤操作:
在Jasper报告中创建一个String参数,例如new List<Button>(){button1,button2,button3}.ForEach(item=>item.hide());
在Jasper Designer中准备查询,例如将传递参数设置为customers
,在$ P之后输入$P!{customers}
!
最后,像下面这样传递来自Java代码的字符串:
SELECT
*
FROM
tblInvoice
WHERE
date BETWEEN $P{startDate} AND $P{endDate}
AND
cust_name IN ($P!{customers})