freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

word版可編輯-ireport報表設(shè)計器使用說明精心整理doc-資料下載頁

2025-07-15 11:41本頁面
  

【正文】 true。}return false。}public Object getFieldValue(JRField jrField) throws JRException{File f = files[index]。if (f == null) return null。if (().equals(FILENAME)){return ()。}else if (().equals(IS_DIRECTORY)){return new Boolean(())。}else if (().equals(SIZE)){return new Long(())。}// Field not found...return null。}}getFieldValue方法將返回請求文件的信息。我們不執(zhí)行關(guān)于返回類型的信息通過調(diào)用這個方法,但是它返回一個string類型的名字,標(biāo)記IS_DIRECTORY作為boolean對象,文件尺寸作為long對象。以下的段落我們將解釋如何使用我們的datasource在iReport中,并測試它。178。 用iReport實(shí)現(xiàn)個性化的JRDataSource為了iReport datasource是個性化的,當(dāng)我們指定圖形界面來顯示它的使用方法是沒用的。我們可能說datasource關(guān)于所有的個性化除了: JRXmlDataSource JRBeanArrayDataSource JRBeanCollectionDataSource事實(shí)上所有的這些都是由iReport自動管理的。為所有其他的datasource,需要設(shè)置一個指定的連接,可以你想要的任一種JRDataSource,通過選擇JRDataSource指定的“dirver”種類列表。這些“drivers”是一些簡單的java類,他們是用來測試datasource或為報表提供數(shù)據(jù),好象被執(zhí)行通過具體的程序。 這個想法是我們看了JavaBean設(shè)置datasource之后有的,其實(shí)他們也都一樣的:需要寫一個java類通過靜態(tài)方法創(chuàng)建datasource并返回它。例如如果你想測試,我們有解釋過在上一段。import .*。public class TestFileSystemDataSource{public static JRDataSource test(){return new JRFileSystemDataSource(/)。}}這個類中的靜態(tài)方法將被調(diào)用時,將執(zhí)行所有需要的代碼來獲得合適的datasource。在我們的例子中,我們將創(chuàng)建一個新的JRFileSystemDataSource對象,通過和指定根目錄一樣的方法(“/”)?,F(xiàn)在我們確定用這種方式來獲得JRDataSource ,創(chuàng)建一個連接以備使用。打開新建連接窗口,選擇類型“Custom JRDataSource”,設(shè)置這個datasource名字為“Test FileSystemDataSource”(或者其他你愿意的名字)。在這之后,需要定義這個類和方法來獲得我們的JRFileSystemDataSource的實(shí)例: TestFileSystemDataSource和test.通過這個datasource準(zhǔn)備一個新報表。沒有方法可以找到字段通過datasource。這個例子中我們知道管理三個字段和他們的名字和一個類型:一但你創(chuàng)建了這些字段,插入到detail中運(yùn)行打印:打印已經(jīng)被創(chuàng)建了。這個報表有被分開成兩列,在column header的band中,file name和size tags被插入進(jìn)去。指定的三個字段也被公告出來,F(xiàn)ILENAME和SIZE被立即的插入到detail。然后這個兩個位置被插入圖象,一個表示文檔,另一個是打開的文件夾。圖形元素被安置在醒目的地方,表達(dá)式是: $F{IS_DIRECTORY}。這個例子中被命名為JRFileSystemDataSource的datasource非常的簡單。然而它可能引發(fā)更多復(fù)雜的類,這個datasource被獲得通過一個Enterprise Java Bean或WebService...9. JavaBean Extended數(shù)據(jù)源iReport提供了詳細(xì)的datasource,它是JavaBeanExtended DataSource,它表現(xiàn)一個進(jìn)化的datasource,比起JavaBean的datasource來說。這兩datasouce之間的不同可以能就是移動字段在子類中,因此它是可能的,一如,打印一個假想的“street”字段的bean包含在“person”bean中。,而且很容易使用這些對象T已選的字段可能被注冊為字段。iReport保存必須的方法來查找詳細(xì)的字段在字段描述中。,可以通過調(diào)用getAddress().getStreet()方法??捎玫臉?gòu)造器為這個datasource:public JRExtendedBeanDataSource(Vector beans)public JRExtendedBeanDataSource(Object[] beans)一些請求的對象和字段都被datasource管理。設(shè)計者通過表達(dá)式來填充子報表。假設(shè)person對象有一個getHobbies()方法,這個方法返回類型是hobby對象的攜帶者,就需要表達(dá)式去填充子報表,這個hobby的打印應(yīng)該是:new JRExtendedBeanDataSource(()$F{Hobbies})。216。 參數(shù)$P!{ }與$P{ }的區(qū)別用下面語句來舉例:select * from customers where CUSTOMERID = $P{MyCustomerId}運(yùn)用$P{PARAMETERNAME}這時它將運(yùn)行這個sql用一個預(yù)編譯語句通過傳遞MyCustomerId的值作為查詢參數(shù)select * from customers where CUSTOMERID = ?此時Parameter的值只能是符合一定條件的具有返回值的java表達(dá)式,不能包含sql語法中的關(guān)鍵字,例如:where、and、order等。而如果我們采用$P!{CUSTOMERID},我們也可以這樣完成查詢select * from customers $P!{CUSTOMERID}$P!{CUSTOMERID}的值是“where CUSTOMERID = 5”$P!{PARAMETERNAME}中,它可以包含where、and、order by等sql關(guān)鍵字。這樣,我們就可以利用$P!{PARAMETERNAME}這點(diǎn)來將一些關(guān)鍵字也動態(tài)加載進(jìn)來實(shí)現(xiàn)一些特別的報表。216。 如何制作圖表a. 餅圖(或3D餅圖):下面我們用下面數(shù)據(jù)集來制作一個報表:select ,count(*)from mis_operator tgroup by 首先,用上面的數(shù)據(jù)集新建一個報表,將兩個字段域拖入detail中。其次,在有上方將chart拖入summary。如下圖所示步驟:選中餅圖右擊,修改chart date屬性現(xiàn)在可以運(yùn)行查看效果圖了:這樣,一個最基本的餅圖就制作完成了。b. 柱狀圖(或3D柱狀):我們在上面的餅圖上制作柱狀圖:基本過程類似:效果圖如下:c. 線圖:下面我們用以下的數(shù)據(jù)集來制作線圖報表為例:select ,count(*)from tar_tools t,mis_code mwhere 39。000639。and != 39。0039。and = AND = 39。TOOLSTYPE39。group by ,order by 數(shù)據(jù)集的集合為每一個供電所的各類工器具的數(shù)量,我們用供電所為X軸,數(shù)量為Y軸,各類工器具來畫線。首先,用上面的數(shù)據(jù)集新建一個報表。將chart拖到summary段中然后右擊新添加的chart,設(shè)置chart data屬性:設(shè)置完畢后就可以輸出報表查看效果了:d. 區(qū)域圖:區(qū)域圖的效果:它和線圖工作原理一樣,屬性的設(shè)置基本一致,但X軸和線之間的區(qū)域被完全的涂上顏色。這里就不一一舉例了。不懂的地方,制作完線圖,相信就知道了。e. 其他圖:最基本的幾個圖形就是以上幾個。其他的圖形基本都可有其構(gòu)成。就不一一舉例。可自行研究。216。 制作交叉報表的過程a. crosstabs為了說明怎么讓一個crosstab 工作起來,我們將使用向?qū)?chuàng)建一個crosstab,當(dāng)我們在工具條里選擇crosstab 元素并將其添加到報表中時crosstab 的向?qū)詣訂?。一個CrossTabs 本質(zhì)上是一個表格,行和列的數(shù)量取決于填充這個表格的數(shù)據(jù)。行和列也可以在groups 里做聚合操作。對于每一個行或列的group 我們都可以得到一個細(xì)節(jié)信息和一個可選的行列數(shù)據(jù)的匯總。b. 交叉表制作向?qū)旅娌樵冋Z句的空報表開始:select * from tar_tools在組件面板里選擇crosstab 控件并將其添加到報表的底部:summary band中時,crosstab 的向?qū)詣訂印? 第一步里我們需要選擇一個dataset 來填充crosstab,我們這里使用主報表里提供的dataset,點(diǎn)擊下一步繼續(xù)。 進(jìn)行分組。這樣就意味著crosstab 的每一行將會采用一個明確的單位編號,這樣JasperReports 將會使用部門編號對數(shù)據(jù)集里的數(shù)據(jù)進(jìn)行重新整理計算。使用向?qū)?,我們可以定義兩個行分組,這是使用向?qū)У木窒扌运?,事?shí)上,如果你需要的話你可以通過Crosstab 的屬性設(shè)置窗口定義若干個行和列的分組。點(diǎn)擊下一步繼續(xù)。和定義行分組一樣,從這里我們可以定義兩個列分組,這里我們僅使用一個列分組,使用數(shù)據(jù)中的TYPE 字段對數(shù)據(jù)進(jìn)行分組。該字段的含義是類型,這就表示,我們要做的這個交叉報表是用來計算不同單位的工器具在類型方面的個數(shù)分布情況。是時候定義detail 數(shù)據(jù)了,一般的,這個detail 是使用類似根據(jù)country,year 得到orders 總數(shù)或者是相同組合的物品總數(shù)的一個聚合函數(shù)的計算出來的結(jié)果值。我們這里選擇打印每個單位器具類型的數(shù)量( Detailfield:ordered,function:count)。點(diǎn)擊下一步繼續(xù)。最后一步我們可以為crosstab 的布局設(shè)定一個布局。我們可以設(shè)置是否能看到表格線、或者是否包括行和列總數(shù)統(tǒng)計之類。我們這里全部選擇。點(diǎn)擊finish注意當(dāng)一個crosstab 添加到一個報表中后,會自動在設(shè)計窗口中添加一個用來編輯當(dāng)前crosstab 的tab 頁窗口。當(dāng)點(diǎn)擊crosstab 的tab 頁,兩個新的屬性窗口將會被添加在窗口的左邊和右邊:一個crosstab 的結(jié)構(gòu)樹,用來顯示crosstab 的當(dāng)前選中單元格和幫助相關(guān)信息。一個是crossstab 對象列表用來顯示和該CrossTab 相關(guān)的一些variables 或fields 等。當(dāng)點(diǎn)擊工具條上的啟動按鈕后,我們將可以看到引擎生成的如下效果的報表:最后一列包含每一行交叉所有列的總計,最后一行包含每一列交叉所有行的總計。216。 制作模版最簡單的方法就是打開一個現(xiàn)有的模板,選擇一個和我們想法接近的。這時我們就可以編輯報表以我們喜歡的方式,改變現(xiàn)有的元素屬性或添加和刪除其他元素。為了使用這些模板,必須放它到templates目錄。a) 制作模版在ireport中沒有現(xiàn)成的表格供使用,但表格式的報表在國內(nèi)最常見,因此有必要建立一個模版,以提高報表的設(shè)計效率。下面我們以建立一個表格式的模版為例,詳解模版的建立過程。1) 首先我們新建一個不帶數(shù)據(jù)源數(shù)據(jù)集的空報表:這一建立的過程就不再詳細(xì)介紹,新建報表的過程中選擇Empty datasource即可:我們將報表命名為:tableModel。2) 其次我們在該空報表下面新建一個樣式style,命名隨意,我們將其命名為:sytle1我們先對它的幾個屬性進(jìn)行編輯:Padding and borders :顯示方框的邊框Pdf Font name,pdf Encoding :可以顯示中文,不再介紹Blank when null : 空值時不顯示null。打√即可Horizontal Alignment :設(shè)置對齊方式。這里設(shè)置為居中3) 然后在Column Header和Detail區(qū)域分別設(shè)置表格。這里設(shè)置表格的大小分別與兩個區(qū)域的高度相同。這一步,將Text Field的值全部置空。如圖示:這里,這個報表模版就完成了,我們查看效果:b) 添加模版報表結(jié)束之后,我們先給報表的輸出效果截圖命名為:(和報表名稱一致即可)。\Jaspersoft\\ireport\templates目錄下:c) 利用模版這樣,我們在新建的時候就可以利用這個模版了。因為上述的模版比較通用,下面我們也簡單介紹一下剛才這個模版的利用。首先,我們按照上述的說明,新建一個報表,選擇以tableModel為模版。其次,組織數(shù)據(jù)集。以qzpsmis為數(shù)據(jù)源。以下面sql語句查詢結(jié)果為數(shù)據(jù)集:select *from mis_operator然后,將數(shù)據(jù)域添加到表格之中:選中要插入數(shù)據(jù)域的方框,在右邊Text Field expression屬性里面選擇數(shù)據(jù)域,在這里也即字段其他的字段添加類似。下面只添加了4個字段為例在這
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1