精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

報表參數的獲取與配置詳解

開發 后端
本文介紹報表參數的獲取和配置方法,從而實現通過程序進行設計。參數是報表生成之前想報表設計文件輸入的報表元素。報表的應用程序可以訪問報表的參數的屬性,最常用的屬性是name和value。

報表是有參數的,通過報表參數可以使用程序進行獲取和配置。參數是報表生成之前想報表設計文件輸入的報表元素。報表的應用程序可以訪問報表的參數的屬性,最常用的屬性是name和value,你可以使用參數名或通用編碼來獲取參數。

為報表設計創建一個參數定義任務

一個IGetParameterDefinitionTask對象提供鏈接到報表設計所有參數的接口。通過調用 ReportEngine.createGetParameterDefinitionTask( )創建一個參數定義對象,使用結束后調用他的close方法關閉。

測試報表設計是否有參數

IGetParameterDefinitionTask.getParameterDefns( )可以測試報表設計是否有參數,它返回一個參數集合,調用集合的isEmpty( )方法可以測試集合中是否有元素。

獲取報表設計的參數

通過IGetParameterDefinitionTask.getParameterDefn( )方法獲取一個已知名字的參數,它返回一個IParameterDefnBase類型對象,也可以調用getParameterDefns( )方法返回一個參數集合。

getParameterDefns( )需要一個boolean參數,如果為false返回一個未分組的參數集合,如果為true返回報表設計中定義的參數組。

調用IParameterDefnBase.getParameterType( )可以檢驗參數是否是一個組。如果是一個組則返回IParameterDefnBase.PARAMETER_GROUP,如果是一個級聯參數組則返回 IParameterDefnBase.CASCADING_PARAMETER_GROUP。為獲取一組報表參數,使用方法 IParameterGroupDefn.getContents( ),它返回一個數據類型是IScalarParameterDefn的ArrayList對象。

獲取報表參數的默認值

這個任務是可選的。調用IGetParameterDefinitionTask.getDefaultValue( )獲取一個已知參數的默認值,它返回的是一個Object。可以通過調用IScalarParameterDefn.getDataType( )來獲取Object的有效類型,它返回一個IScalarParameterDefn定義的int類型的靜態變量。調用 IGetParameterDefinitionTask.getDefaultValues( )來獲取報表設計的所有參數的默認值,它返回一個HashMap對象存儲了從參數名到默認值的映射。

使用常量列表提供的效值

許多報表參數只接受常量列表的值,這些值可能是靜態常量,也可能是數據庫里查出來的數據list。使用 IGetParameterDefinitionTask.getSelectionList( )可以返回參數所能接受的參數(IParameterSelectionChoice)的集合,如果集合為null,則可以接受任何值。 IParameterSelectionChoice的getLabel( )方法返回現實的文本,getValue( )返回值。

獲取每個報表參數的屬性

這個任務是可選的。使用IScalarParameterDefn的方法可以獲取表參數的屬性。應用程序使用屬性生成用戶自定義接口。例如,獲取參數的數據類型使用getDataType( )方法。

為參數設置值

調用IGetParameterDefinitionTask.setParameterValue( )為參數設置值。如果你是通過應用程為日期數值等參數返回一個字符串,要把他們轉化成和本地無關的格式。調用方法 ReportParameterConverter.parse( )方法可以完成這項工作。getParameterValues( )方法返回一個HashMap包含了已經設置的所有參數。

報表參數設置實例

下面的代碼展示了如何設置一個已知參數名的參數值:

  1. // Create a parameter definition task.    
  2. IGetParameterDefinitionTask task = engine.createGetParameterDefinitionTask( runnable );    
  3. // Instantiate a scalar parameter.    
  4. IScalarParameterDefn param = (IScalarParameterDefn)     
  5. task.getParameterDefn( "customerID" );    
  6. // Get the default value of the parameter. In this case,     
  7. // the data type of the parameter, customerID, is Double.    
  8. int customerID = ((Double) task.getDefaultValue( param )).intValue( );    
  9. // Get a value for the parameter. This example assumes that     
  10. // this step creates a correctly typed object, inputValue.    
  11. // Set the value of the parameter.    
  12. task.setParameterValue( "customerID", inputValue );    
  13. // Get the values set by the application for all parameters.    
  14. HashMap parameterValues = task.getParameterValues( );    
  15. // Close the parameter definition task.    
  16. task.close( );    
  17. // Create a parameter definition task.  
  18. IGetParameterDefinitionTask task = engine.createGetParameterDefinitionTask( runnable );  
  19. // Instantiate a scalar parameter.  
  20. IScalarParameterDefn param = (IScalarParameterDefn)   
  21. task.getParameterDefn( "customerID" );  
  22. // Get the default value of the parameter. In this case,   
  23. // the data type of the parameter, customerID, is Double.  
  24. int customerID = ((Double) task.getDefaultValue( param )).intValue( );  
  25. // Get a value for the parameter. This example assumes that   
  26. // this step creates a correctly typed object, inputValue.  
  27. // Set the value of the parameter.  
  28. task.setParameterValue( "customerID", inputValue );  
  29. // Get the values set by the application for all parameters.  
  30. HashMap parameterValues = task.getParameterValues( );  
  31. // Close the parameter definition task.  
  32. task.close( );  

下面的代碼展示了如何使用報表參數集合,例子中使用ReportParameterConverter將字符串轉化成用戶接口接受的參數格式。

  1. // Create a parameter definition task.    
  2. IGetParameterDefinitionTask task = engine.createGetParameterDefinitionTask( runnable );    
  3. // Create a collection of the parameters in the report design.    
  4. Collection params = task.getParameterDefns( false );    
  5. // Get the default values of the parameters.    
  6. HashMap parameterValues = task.getDefaultValues( );    
  7. // Get values for the parameters. Later code in this example    
  8. // assumes that this step creates a HashMap object,    
  9. // inputValues. The keys in the HashMap are the parameter    
  10. // names and the values are those that the user provided.    
  11. // Iterate through the report parameters, setting the values     
  12. // in standard locale-independent format.    
  13. Iterator iterOuter = params.iterator( );    
  14. ReportParameterConverter cfgConverter =    
  15.         new ReportParameterConverter( "", Locale.getDefault() );    
  16. while ( iterOuter.hasNext( ) ) {    
  17. IParameterDefnBase param = (IParameterDefnBase) iterOuter.next( );    
  18. String value = (String) inputValues.get( param.getName( ));    
  19. if ( value != null ) {    
  20. parameterValues.put( param.getName( ),     
  21. cfgConverter.parse( value, param.getDataType( ) ) );    
  22. }    
  23. }    
  24. // Close the parameter definition task.    
  25. task.close( );    
  26. // Create a parameter definition task.  
  27. IGetParameterDefinitionTask task = engine.createGetParameterDefinitionTask( runnable );  
  28. // Create a collection of the parameters in the report design.  
  29. Collection params = task.getParameterDefns( false );  
  30. // Get the default values of the parameters.  
  31. HashMap parameterValues = task.getDefaultValues( );  
  32. // Get values for the parameters. Later code in this example  
  33. // assumes that this step creates a HashMap object,  
  34. // inputValues. The keys in the HashMap are the parameter  
  35. // names and the values are those that the user provided.  
  36. // Iterate through the report parameters, setting the values   
  37. // in standard locale-independent format.  
  38. Iterator iterOuter = params.iterator( );  
  39. ReportParameterConverter cfgConverter =  
  40.         new ReportParameterConverter( "", Locale.getDefault() );  
  41. while ( iterOuter.hasNext( ) ) {  
  42. IParameterDefnBase param = (IParameterDefnBase) iterOuter.next( );  
  43. String value = (String) inputValues.get( param.getName( ));  
  44. if ( value != null ) {  
  45. parameterValues.put( param.getName( ),   
  46. cfgConverter.parse( value, param.getDataType( ) ) );  
  47. }  
  48. }  
  49. // Close the parameter definition task.  
  50. task.close( );  

使用級聯參數

級聯參數參數是一組可供用戶選擇的參數值的集合。第一個參數的選擇會影響到第二個參數中的值。參數使用一個或多個查詢來從數據集把數據展示給用戶。參數定義任務根據前面的選擇以行為單位過濾參數組中的數據。

使用報表引擎實現級聯參數,要進行如下工作:

■使用IGetParameterDefinitionTask.evaluateQuery( )方法為級聯參數準備數據,它需要參數group的名字作為參數。

■調用IGetParameterDefinitionTask.getSelectionListForCascadingGroup( )獲取參數組的第一個參數的值,它需要兩個參數,參數名和對象數組,對第一個參數來說這個數組是空的。該方法返回一個 IParameterSelectionChoice集合。

■ 再次調用getSelectionListForCascadingGroup( )方法獲取后面的參數,這次Object[ ]中放的是前面獲取的參數值。

下面的代碼展示了如何通過查詢實現級聯參數:

  1. // Create a grouped collection of the design’s parameters.    
  2. Collection params = task.getParameterDefns( true );    
  3. // Iterate through the parameters to find the cascading group.    
  4. Iterator iter = params.iterator( );    
  5. while ( iter.hasNext( ) ) {    
  6. IParameterDefnBase param = (IParameterDefnBase) iter.next();    
  7. if ( param.getParameterType() ==     
  8. IParameterDefnBase.CASCADING_PARAMETER_GROUP ) {    
  9. ICascadingParameterGroup group = (ICascadingParameterGroup) param;    
  10. Iterator i2 = group.getContents( ).iterator( );    
  11. // Run the query for the cascading parameters.    
  12. task.evaluateQuery( group.getName() );    
  13. Object[ ] userValues = new Object[group.getContents( ).size( )];    
  14. // Get the report parameters in the cascading group.    
  15. int i = 0;    
  16. while ( i2.hasNext( ) ) {    
  17. IScalarParameterDefn member = (IScalarParameterDefn) i2.next( );    
  18. // Get the values for the parameter.    
  19. Object[ ] setValues = new Object[i];    
  20. if ( i > 0 )  System.arraycopy( userValues, 0, setValues, 0, i );    
  21. Collection c = task.getSelectionListForCascadingGroup(    
  22.    group.getName(),setValues );    
  23. // Iterate through the values for the parameter.    
  24. Iterator i3 = c.iterator();    
  25. while ( i3.hasNext( ) ) {    
  26. IParameterSelectionChoice s =     
  27. ( IParameterSelectionChoice ) i3.next( );    
  28. String choiceValue = s.getValue( );    
  29. String choiceLabel = s.getLabel( );    
  30. }    
  31. // Get the value for the parameter from the list of    
  32. // choices. This example does not provide the code for    
  33. // this task.    
  34. userValues[i] = inputChoiceValue;    
  35. i++;    
  36. }    
  37. }    
  38. }    

以上就是用程序處理報表參數的配置方法。

【編輯推薦】

  1. Java報表工具FineRpeort特性概覽
  2. Java報表工具的簡約之美
  3. Java多線程編程實戰精要
  4. Java內部類使用的四點建議
  5. 深入核心 Java終止函數詳解
責任編輯:yangsai 來源: JavaEye博客
相關推薦

2010-11-29 13:33:00

sybase配置參數

2010-09-26 11:00:48

JVM參數配置

2018-11-01 10:34:37

JVM內存配置

2010-09-17 15:57:23

TomcatJVM

2023-09-01 08:18:53

Tomcat配置參數

2009-07-09 14:02:58

Tomcat JDK

2025-10-17 08:46:54

2025-10-17 11:30:00

Paimon大數據數據湖

2025-11-11 09:41:20

2025-11-20 09:00:11

2025-11-03 09:18:35

2025-11-19 09:14:59

2025-11-20 06:05:00

PaimonSQL大數據

2009-07-04 00:50:38

2024-01-15 16:46:35

Nginx服務器

2011-03-02 13:28:33

Vsftpd配置

2009-03-10 13:51:36

編譯器VS2010C#

2010-08-12 13:15:26

MySQL集群

2010-06-21 14:57:32

Linux apt

2010-06-03 15:04:31

NAP IPSEC配置
點贊
收藏

51CTO技術棧公眾號

欧美大片aaaa| 在线观看午夜av| 免费成人你懂的| 中文字幕亚洲欧美日韩2019| 九九热精品国产| 波多野结衣中文在线| 久久综合九色综合欧美98| 国产精品入口夜色视频大尺度| 亚洲人与黑人屁股眼交| 国产精品对白| 欧美日韩一区二区三区四区| 日本阿v视频在线观看| 欧美精品少妇| 国产精品自拍毛片| 国产ts一区二区| 久草福利资源在线观看| 欧美美女一区| 亚洲国产毛片完整版| 视色视频在线观看| 成人国产电影在线观看| 国产精品久久精品日日| 成人av资源站| 色综合中文字幕| 男同互操gay射视频在线看| 色猫av在线| 国产激情91久久精品导航 | 1区2区3区在线| 国产精品毛片久久久久久| 黑人中文字幕一区二区三区| 亚洲一区精品在线观看| 先锋a资源在线看亚洲| 欧美久久精品一级黑人c片| 成人精品999| 亚洲一二三区视频| 4438x成人网最大色成网站| 免费在线观看日韩视频| 高h视频在线播放| 一区精品在线播放| 青草国产精品久久久久久| 日韩欧美视频在线| 福利在线一区二区三区| 欧美极品videos大乳护士| 1区2区3区国产精品| 日韩电影免费观看在| 五月婷婷狠狠干| 国产成人综合在线观看| 亚洲a级在线播放观看| 中文字幕在线观看欧美| 日韩精品亚洲一区| 国产精品96久久久久久又黄又硬| 国产成人精品网| 最新日韩av| 久久久久久亚洲| 久久精品www| 黄色av成人| 国a精品视频大全| 日本免费一二三区| 亚洲精品少妇| 欧美主播福利视频| 无码人妻久久一区二区三区不卡| 国产精品久久久久久久久久妞妞 | 国产乡下妇女做爰| 亚洲狼人精品一区二区三区| 性色av一区二区三区在线观看| 国产一级做a爰片在线看免费| 欧美视频亚洲视频| 欧美激情久久久久久| 欧美日韩中文视频| 亚洲免费观看| 国产精品99久久久久久www| 五月婷婷激情五月| 老司机免费视频一区二区三区| 91九色蝌蚪国产| 午夜老司机福利| 99热99精品| 日韩理论片在线观看| 五月婷婷在线观看| 一区二区三区不卡视频在线观看| 人人妻人人做人人爽| 在线毛片观看| 欧美午夜免费电影| 永久免费黄色片| 蜜臀av一区| 一区二区在线免费视频| 五月天av网站| 99精品国产福利在线观看免费| 538国产精品一区二区免费视频| 波多野结衣午夜| 国产一区二区三区在线观看免费| 97超碰人人看人人 | 国产一区二区三区在线播放免费观看| 91在线无精精品白丝| 综合国产精品| 国产成人精品av| 国产成人精品一区二区无码呦| 国产白丝精品91爽爽久久| 久久综合毛片| 福利视频在线| 日韩欧美一区二区三区| 国产三级生活片| 欧洲亚洲成人| 久久精品在线视频| 综合网在线观看| 国产高清不卡一区二区| 欧美日韩视频在线一区二区观看视频| 国产黄色在线网站| 色94色欧美sute亚洲线路二| 中文字幕无人区二| 日本久久黄色| 国产69精品久久久| 国产精品久久久久精| 91网址在线看| 免费的一级黄色片| 精品176极品一区| 精品呦交小u女在线| 特级片在线观看| 免费成人在线网站| 欧美二区在线| 久久青草伊人| 日韩欧美在线网站| 五月天婷婷丁香网| 国产精品毛片| 古典武侠综合av第一页| 久久综合之合合综合久久| 精品国产鲁一鲁一区二区张丽| 亚洲综合20p| 日本不卡电影| 国产精品成人v| 欧洲综合视频| 性欧美大战久久久久久久久| 手机在线观看日韩av| 久久福利综合| 国产欧美精品在线播放| аⅴ资源新版在线天堂| 欧美视频免费在线观看| 美女网站视频在线观看| 伊人久久大香线| 成人a在线视频| 日本免费在线视频| 欧美无乱码久久久免费午夜一区| av黄色免费网站| 亚洲在线国产日韩欧美| 国产一区二区不卡视频| av第一福利在线导航| 日韩欧美一级精品久久| 国产精品成人免费观看| 国产精品1区2区3区在线观看| 中文字幕久久一区| 91国产精品| 欧美精品免费在线观看| 99国产精品久久久久久久成人| 亚洲欧美日韩在线播放| 无码人妻一区二区三区在线视频| 亚洲一本二本| 99久久精品免费看国产四区| 亚洲七七久久综合桃花剧情介绍| 日韩欧美一区二区久久婷婷| 国产真实的和子乱拍在线观看| 成人免费毛片app| 欧美视频在线第一页| 99久久婷婷国产综合精品青牛牛| 九九热视频这里只有精品| www.色呦呦| 亚洲成av人片www| 欧洲一级黄色片| 日日骚欧美日韩| 亚洲资源视频| 日韩一区二区三区精品视频第3页| 久久91亚洲精品中文字幕奶水 | 欧美不卡高清一区二区三区| 中文字幕在线观看亚洲| 国产a级免费视频| 五月天亚洲精品| 国产免费无遮挡吸奶头视频| 久久99精品网久久| 妺妺窝人体色www看人体| 国产无遮挡裸体免费久久| 欧美在线视频一区二区| 欧美精品hd| 亚洲精品一区二区三区香蕉| 四虎影院在线免费播放| 亚洲欧美一区二区久久| 亚洲熟女乱综合一区二区三区 | 亚洲 自拍 另类 欧美 丝袜| 亚洲片区在线| 一区二区精品视频| 北条麻妃在线一区二区免费播放 | 色呦呦视频在线| 精品久久久久久久久久国产| 日本二区在线观看| 国产伦理精品不卡| avav在线看| 欧美一区综合| 欧美日韩另类综合| 亚洲国产中文在线| 国产精品jizz在线观看麻豆| 在线观看h网| 亚洲人高潮女人毛茸茸| 国产极品999| 日本高清成人免费播放| 久久久精品99| 国产精品区一区二区三区| 91丨porny丨对白| 久久91精品国产91久久小草| 国产综合中文字幕| 91精品啪在线观看国产81旧版| 狠狠干一区二区| 久久wwww| 国产精品偷伦视频免费观看国产| 精精国产xxxx视频在线中文版| 中文国产成人精品| 天堂av资源网| 欧美一区二区三区视频在线| 久久久国产免费| 天涯成人国产亚洲精品一区av| 国产成人综合在线视频| 国产亚洲欧美色| xxxxxx黄色| 国产高清无密码一区二区三区| 91亚洲免费视频| 久久一二三区| 亚洲熟妇av日韩熟妇在线| 午夜久久美女| 少妇高潮流白浆| 日韩毛片视频| 日本在线观看一区二区三区| 美国十次av导航亚洲入口| 91精品国产91久久久久青草| 看片一区二区| 国产精品香蕉在线观看| 欧洲av不卡| 日本久久久a级免费| 黄色在线网站噜噜噜| 久久久久女教师免费一区| caopo在线| 不卡伊人av在线播放| 麻豆网在线观看| 丝袜美腿精品国产二区| 国产视频二区在线观看| 亚洲欧美国产日韩天堂区| 四虎免费在线观看| 亚洲加勒比久久88色综合| 亚洲黄色在线免费观看| 欧美大胆一级视频| 亚洲精品免费在线观看视频| 欧美r级电影在线观看| 国产黄色片av| 精品福利一区二区三区免费视频| 亚洲av无码一区二区乱子伦| 日韩免费一区二区三区在线播放| 午夜精品一二三区| 亚洲成色777777在线观看影院| 国 产 黄 色 大 片| 亚洲国产精品推荐| 三级国产在线观看| 亚洲欧美视频在线| 高清美女视频一区| 中文字幕精品在线视频| 日本视频不卡| 久久韩剧网电视剧| 污污影院在线观看| 97精品视频在线播放| 成人美女黄网站| 国产精品女人网站| 只有精品亚洲| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 韩国成人动漫| 国产欧美日韩综合一区在线播放 | 国产精品热视频| 久久久加勒比| 97视频热人人精品| 日韩大胆成人| 亚洲国产一区二区三区在线播| 999久久久免费精品国产| 国产91视频一区| 午夜亚洲一区| 女同激情久久av久久| 国产成人av影院| 实拍女处破www免费看| 中文欧美字幕免费| 免费一级a毛片夜夜看| 韩曰欧美视频免费观看| 在线观看免费高清视频| 欧美一级精品大片| 图片区 小说区 区 亚洲五月| 国产亚洲xxx| 在线h片观看| 日本不卡视频在线播放| 嫩呦国产一区二区三区av| 欧美18视频| 91精品精品| 国产成人综合一区| 国产精品99久久久久| 波多野结衣一本| 亚洲精品五月天| 日韩av免费播放| 亚洲第一色中文字幕| 在线观看麻豆蜜桃| 午夜精品久久久久久久久久久久久| 国产成人精品一区二区三区视频 | 国内爆初菊对白视频| 亚洲一级一级97网| 高清电影在线免费观看| 国产乱人伦真实精品视频| 欧美日韩一区二区三区四区不卡| 一本色道久久99精品综合| 国产女优一区| 中文字幕在线观看91| 中文字幕精品在线不卡| www.av麻豆| 日韩欧美成人一区| 色三级在线观看| 日本成熟性欧美| 国产精品zjzjzj在线观看| 亚洲免费人成在线视频观看| 污污免费在线观看| 久久日韩粉嫩一区二区三区| 久艹视频在线观看| 在线电影国产精品| h视频网站在线观看| 欧美一级片在线播放| 都市激情久久| 大地资源网在线观看免费官网| 麻豆成人综合网| 日本一级免费视频| 欧美天天综合色影久久精品| 欧美一区,二区| 欧美成人精品不卡视频在线观看| 播放一区二区| 人禽交欧美网站免费| 国产一区二区三区的电影 | 精品国产美女在线| 播放一区二区| 日韩女优中文字幕| 久久久久一区| 亚洲国产欧美视频| 午夜精品久久久久久| 亚洲精品一区二区三区区别| 欧美成人免费va影院高清| 疯狂欧洲av久久成人av电影| 一区二区三区视频| 久久爱另类一区二区小说| 国产3级在线观看| 欧美麻豆精品久久久久久| 日本三级视频在线播放| 国产精品偷伦视频免费观看国产| 精品日韩一区| 777视频在线| 国产精品激情偷乱一区二区∴| 中文字幕av在线免费观看| 中文字幕不卡av| 日日夜夜一区| 免费的av在线| 成人午夜精品在线| 久久久国产高清| 亚洲性无码av在线| 欧美视频免费看| 亚洲色婷婷久久精品av蜜桃| 成人高清视频免费观看| 日韩特黄一级片| 亚洲欧美另类人妖| 国产91在线播放精品| 三级在线免费观看| 成人精品免费看| 国产成人无码一区二区在线播放| 亚洲无限av看| 国产aa精品| 18禁网站免费无遮挡无码中文| 久久尤物电影视频在线观看| 中文字幕一区二区人妻| www.激情成人| 第四色在线视频| 91精品办公室少妇高潮对白| 一广人看www在线观看免费视频| 成人免费观看网址| 亚洲特级毛片| 亚洲日本精品视频| 69久久夜色精品国产69蝌蚪网| aa级大片免费在线观看| 你懂的网址一区二区三区| 蜜芽一区二区三区| 国产一级二级三级| 亚洲欧美日韩在线一区| 成人日韩视频| 99999精品视频| 亚洲女子a中天字幕| 头脑特工队2在线播放| 国产日韩在线视频| 日韩亚洲国产精品| 人人澡人人澡人人看| 亚洲国产天堂久久综合网| 韩国精品视频在线观看| 国产欧美日韩小视频| 日本一区二区免费在线| 黑人精品一区二区| 国产精品一区二区三区免费视频| 亚洲视频狠狠| 后入内射无码人妻一区| 日韩成人在线免费观看| 自拍偷拍欧美日韩|