2016-04-13 19 views
0
<body> 
<hr> 
<h1>Click All or Search by Core ID</h1> 
<form action = "call.jsp" onsubmit="return generateReport()" > 
<label><input type="checkbox" /> ALL</label><p>Core ID : <input type= "text" name = "core" value = ""/></p> 
<h1>Search by refresh Date From and To</h1> 
<p>Date From: <input type="text" id="datepicker" name = "datef" value = ""></p> 
<p>Date To : <input type="text" id="datepicker1" name = "datet" value = ""></p> 
<h1>All Department except</h1> 
<p>Department Code : <input type="text" name = "DepartM" value = ""></p> 
<input type="submit" value="Search"/> 
</form> 
</body> 

以上是對JSP代碼和我想的複選框,點擊一次就會選擇和所有編號和日期,下面是我的碧玉報表查詢如何添加選擇JSP中的所有功能,例如日期和時間?

SELECT 
CI_ID, 
Status, 
"status-Reason", 
CI_name, 
Serial_num, 
Manufacturer, 
model, 
receipT_date, 
refresh, 
core_id, 
departm 
FROM 
`laptop` laptop 
WHERE 
Core_id = $P{core} 
or refresh >= $P{datef} 
and refresh <= $P{datet} 
and departm <> $P{DepartM} 

如何使用複選框作爲選擇所有功能?一旦用戶點擊複選框,意味着用戶希望查看所有記錄(所有記錄和從和到日期等)。

+0

讓說我的數據庫得到了10號與日期範圍爲2014年1月1日至2017年1月1日,我的當前頁面可以讓用戶選擇哪個ID和日期和現在只有,現在我試圖做一個選擇「全部」複選框,以便用戶不需要填寫日期,用戶只需點擊複選框和頁面能夠通過所有參數(從01 - 01-2014到01-01-2017並選擇全部10個ID)在碧玉報告。 – Shaw

回答

0

賈斯珀報告動態查詢將幫助你解決你的問題。

<parameter name="STATUS"/><br /> 
<parameter name="whereClause" isForPrompting="false"><br /> 
    <defaultValueExpression><br /> 
    $P{STATUS}.equals("ALL"«») ? "" : (" WHERE status = '" + $P{STATUS} + "'"«»)<br /> 
    </defaultValueExpression><br /> 
</parameter><br /> 
<queryString><br /> 
    SELECT .. FROM .. $P!{whereClause}<br /> 
</queryString><br /> 
</td></tr></tbody></table><br /> 
<br /> 

參考鏈接http://community.jaspersoft.com/questions/514371/how-construct-dynamic-query-reports

http://community.jaspersoft.com/blog/how-write-conditional-query-ireport-using-parameters

+0

$ P!{,那不是最好的方法,你應該使用準備語句$ P {,以避免sql注入代碼,請參閱這篇文章http://stackoverflow.com/questions/11871042/jasperreports-passing-parameters-to -query –

相關問題