------在資料集的beforeopen方法中替換:
var sql = "select * from tablename where 1=1 and ...";
this.querytext = sql;
++++++ 說明this.querytext 是指整個sql語句
------ birt的修改記錄
所屬專案org.eclipse.birt.report.viewer
修改類 所屬包及類名org.eclipse.birt.report.service.reportengineservice
修改目的:將session中的sql放在上下文中
修改方法:
所屬專案org.eclipse.birt.report.engine
修改類 所屬包及類名org.eclipse.birt.report.engine.adapter.modeldteapiadapter
修改目的:將上下文中的sql取出依據dataset的名字替換設計檔案中的slq
修改方法:
iodadatasetdesign newodadataset( odadatasethandle modeldataset,
executioncontext context ) throws birtexception
} if (needpropertybinding() && querytextbinding != null
&& querytextbinding.length() > 0) else
dtedataset.setquerytext(querytextbinding);}}
------ 開發人員作帶列印的查詢時注意事項
在有列印的介面時要在查詢的action方法中新增如下的**:
//移除session中已經存在的資料集的map
if (request.getsession().getattribute("hql") != null)
//將執行的hql轉換為sql語句employer是hql中的類名。ab01是資料庫中要查詢的表名
hql=hql.replace("employer","ab01" );
hql=hql.replace("as","" );
//構造資料集的map dataset1是資料集的名字, hql是對應的sql語句
hashmap map = new hashmap();
map.put("dataset1", hql);
//將資料集的map放與session中
request.getsession().setattribute("hql", map);
目的是將查詢的sql儲存在session中以便在列印時使用該sql。
另外在資料庫sysprintconfig表中插入如下資料
datasetname =dataset1 ;//對應map中的dataset1
sql = select ab01.aab001, ab01.aaa021,ab01.aab003, ab01.aab004,ab01.aab019, ab01.aae004,ab01.aae005,ab01.aab020,ab01.aae119,ab01.aab021 from ab01 where 1=1
//對應map中的hql
descript=基本資訊管理 -> 單位資訊管理 -> 單位查詢: 單位查詢
//對應頁面的功能資訊
//對應列印action的包類及方法
fillepathname=reports\basicinfo\employerlist.rptdesign
//對應報表設計檔案的相對路徑及檔名。該字段在報表設計完畢以後在修改。開始時為空!
--------
實施人員開發報表注意事項
實施人員在做報表列印時資料集的名字和對應的sql語句從資料庫的sysprintconfig表中取得
比如做如下的列印
select * from sysprintconfig where descript like '基本資訊管理 -> 單位資訊管理 -> 單位查詢: 單位查詢'
這裡得到
datasetname =dataset1 ;//對應map中的dataset1
sql = select ab01.aab001, ab01.aaa021,ab01.aab003, ab01.aab004,ab01.aab019, ab01.aae004,ab01.aae005,ab01.aab020,ab01.aae119,ab01.aab021 from ab01 where 1=1
descript=基本資訊管理 -> 單位資訊管理 -> 單位查詢: 單位查詢
將你設計的報表的資料集用dataset1作為報表設計中的data set的名字
select ab01.aab001, ab01.aaa021,ab01.aab003, ab01.aab004,ab01.aab019, ab01.aae004,ab01.aae005,ab01.aab020,ab01.aae119,ab01.aab021 from ab01 where 1=1
作為你的報表設計中的sql
其他的按照原先的做就可以了,開發完畢以後和開發人員聯絡把報表資訊新增到系統中
++++++++ 修改的結果是 可以把整個sql 或者是引數放在session
birt動態引數的處理
本例實現根據使用者選擇不同的查詢條件查詢顯示報表。按我的報表業務來演示。我的報表要查詢條件是起始時間,結束時間,站點,有票,沒票,55以上,55以下 分別設定報表引數對應這幾個查詢條件。start,end,station,ticketed,unticketed,up55t,below55t 其中有票...
CSS基礎 瑣碎記錄
關於屬性 vertical align 今天出現乙個問題,table裡面的乙個單元格有乙個text型別的input,然後有一張.我搞了很久,不能垂直居中,我把input去掉,發現自適應又居中了 後來發現vertical align屬性.css基礎 以下內容來自w3c官方解釋 vertical ali...
CSS基礎 瑣碎記錄
tips 大部分都摘自w3c 一,關於選擇器 後代選擇器,什麼是後代選擇器,h1標籤所有子孫元素為em的都會起效果 h1 em子元素選擇器,什麼是子元素選擇器 h1標籤下面的子元素為em的元素.請注意只是兒子元素,孫子元素以及更下層的 h1 em 號兩邊可以有空格符相鄰兄弟選擇器,h1標籤之後的同級...