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

正文內(nèi)容

最新ireport報(bào)表設(shè)計(jì)器使用說明-資料下載頁(yè)

2025-07-29 21:41本頁(yè)面
  

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