var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-20738293-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script')"/>
<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jutleo
    歡迎走進(jìn)有風(fēng)的地方~~
    posts - 63,  comments - 279,  trackbacks - 0
    jasperReport的這個(gè)包net.sf.jasperreports.engine.design 是這樣描述的:Contains design time implementations for the library's main interfaces as well as report compiling tools.因此我們完全可以使用它的API構(gòu)建自己的報(bào)表,還是和前幾篇使用同一個(gè)數(shù)據(jù)庫(kù)表。
            構(gòu)建JasperDesign對(duì)象:
    設(shè)置一些對(duì)應(yīng)的屬性:
    // JasperDesign
            JasperDesign jasperDesign = new JasperDesign();
            jasperDesign.setName(
    "NoXmlDesignReport"
    );
            jasperDesign.setPageWidth(
    595
    );
            jasperDesign.setPageHeight(
    842
    );
            jasperDesign.setColumnWidth(
    515
    );
            jasperDesign.setColumnSpacing(
    0
    );
            jasperDesign.setLeftMargin(
    40
    );
            jasperDesign.setRightMargin(
    40
    );
            jasperDesign.setTopMargin(
    50
    );
            jasperDesign.setBottomMargin(
    50);
    字體:
    // Fonts
            JRDesignStyle normalStyle = new JRDesignStyle();
            normalStyle.setName(
    "Arial_Normal");
            normalStyle.setDefault(
    true);
            normalStyle.setFontName(
    "Arial");
            normalStyle.setFontSize(
    12);
            normalStyle.setPdfFontName(
    "Helvetica");
            normalStyle.setPdfEncoding(
    "Cp1252");
            normalStyle.setPdfEmbedded(
    false);
            jasperDesign.addStyle(normalStyle);

            JRDesignStyle boldStyle 
    = new JRDesignStyle();
            boldStyle.setName(
    "Arial_Bold");
            boldStyle.setFontName(
    "Arial");
            boldStyle.setFontSize(
    12);
            boldStyle.setBold(
    true);
            boldStyle.setPdfFontName(
    "Helvetica-Bold");
            boldStyle.setPdfEncoding(
    "Cp1252");
            boldStyle.setPdfEmbedded(
    false);
            jasperDesign.addStyle(boldStyle);

            JRDesignStyle italicStyle 
    = new JRDesignStyle();
            italicStyle.setName(
    "Arial_Italic");
            italicStyle.setFontName(
    "Arial");
            italicStyle.setFontSize(
    12);
            italicStyle.setItalic(
    true);
            italicStyle.setPdfFontName(
    "Helvetica-Oblique");
            italicStyle.setPdfEncoding(
    "Cp1252");
            italicStyle.setPdfEmbedded(
    false);
            jasperDesign.addStyle(italicStyle);
    定義報(bào)表的參數(shù),并添加到報(bào)表設(shè)計(jì)器上
    // Parameters
            JRDesignParameter parameter = new JRDesignParameter();
            parameter.setName(
    "ReportTitle");
            parameter.setValueClass(java.lang.String.
    class);
            jasperDesign.addParameter(parameter);
    定義報(bào)表的字段,這些字段是最終顯示到報(bào)表上的域
    // Fields
            JRDesignField field = new JRDesignField();
            field.setName(
    "userid");
            field.setValueClass(java.lang.Integer.
    class);
            jasperDesign.addField(field);

            field 
    = new JRDesignField();
            field.setName(
    "name");
            field.setValueClass(java.lang.String.
    class);
            jasperDesign.addField(field);

            field 
    = new JRDesignField();
            field.setName(
    "sex");
            field.setValueClass(java.lang.String.
    class);
            jasperDesign.addField(field);

            field 
    = new JRDesignField();
            field.setName(
    "age");
            field.setValueClass(java.lang.String.
    class);
            jasperDesign.addField(field);

            field 
    = new JRDesignField();
            field.setName(
    "password");
            field.setValueClass(java.lang.String.
    class);
            jasperDesign.addField(field);

            field 
    = new JRDesignField();
            field.setName(
    "department");
            field.setValueClass(java.lang.String.
    class);
            jasperDesign.addField(field);

            JRDesignBand band 
    = null;
            JRDesignTextField textField 
    = null;
            JRDesignExpression expression 
    = null;

    開始畫報(bào)表主體的title部分,不需要的部分可以不用代碼標(biāo)識(shí)出來(lái),title部分放置了報(bào)表標(biāo)題字段,只會(huì)出現(xiàn)在第一頁(yè)的上方

    // title
            band = new JRDesignBand();
            band.setHeight(
    50);
            textField 
    = new JRDesignTextField();
            textField.setBlankWhenNull(
    true);
            textField.setX(
    0);
            textField.setY(
    10);
            textField.setWidth(
    500);
            textField.setHeight(
    30);
            textField.setHorizontalAlignment(JRAlignment.HORIZONTAL_ALIGN_CENTER);
            textField.setStyle(normalStyle);
            textField.setFontSize(
    22);
            expression 
    = new JRDesignExpression();
            expression.setValueClass(java.lang.String.
    class);
            expression.setText(
    "$P{ReportTitle}");
            textField.setExpression(expression);
            band.addElement(textField);
            jasperDesign.setTitle(band);
    detail部分:排列域的位置,并設(shè)置它的值,沒(méi)一個(gè)域的值會(huì)最為一個(gè) JRDesignExpression出現(xiàn)
    // Detail
            
    // pid
            band = new JRDesignBand();
            band.setHeight(
    20);

            textField 
    = new JRDesignTextField();
            textField.setX(
    5);
            textField.setY(
    4);
            textField.setWidth(
    100);
            textField.setHeight(
    15);
            textField.setHorizontalAlignment(JRAlignment.HORIZONTAL_ALIGN_RIGHT);
            textField.setStyle(normalStyle);
            expression 
    = new JRDesignExpression();
            expression.setValueClass(java.lang.Integer.
    class);
            expression.setText(
    "$F{userid}");
            textField.setExpression(expression);
            band.addElement(textField);
            
    // name
            textField = new JRDesignTextField();
            textField.setStretchWithOverflow(
    true);
            textField.setX(
    120);
            textField.setY(
    4);
            textField.setWidth(
    80);
            textField.setHeight(
    15);
            textField.setPositionType(JRElement.POSITION_TYPE_FLOAT);
            textField.setStyle(normalStyle);
            expression 
    = new JRDesignExpression();
            expression.setValueClass(java.lang.String.
    class);
            expression.setText(
    "$F{name}");
            textField.setExpression(expression);
            band.addElement(textField);

            
    // sex
            textField = new JRDesignTextField();
            textField.setStretchWithOverflow(
    true);
            textField.setX(
    200);
            textField.setY(
    4);
            textField.setWidth(
    30);
            textField.setHeight(
    15);
            textField.setPositionType(JRElement.POSITION_TYPE_FLOAT);
            textField.setStyle(normalStyle);
            expression 
    = new JRDesignExpression();
            expression.setValueClass(java.lang.String.
    class);
            expression.setText(
    "$F{sex}");
            textField.setExpression(expression);
            band.addElement(textField);
            
    // age
            textField = new JRDesignTextField();
            textField.setStretchWithOverflow(
    true);
            textField.setX(
    240);
            textField.setY(
    4);
            textField.setWidth(
    30);
            textField.setHeight(
    15);
            textField.setPositionType(JRElement.POSITION_TYPE_FLOAT);
            textField.setStyle(normalStyle);
            expression 
    = new JRDesignExpression();
            expression.setValueClass(java.lang.String.
    class);
            expression.setText(
    "$F{age}");
            textField.setExpression(expression);
            band.addElement(textField);
            
    // password
            textField = new JRDesignTextField();
            textField.setStretchWithOverflow(
    true);
            textField.setX(
    270);
            textField.setY(
    4);
            textField.setWidth(
    80);
            textField.setHeight(
    15);
            textField.setPositionType(JRElement.POSITION_TYPE_FLOAT);
            textField.setStyle(normalStyle);
            expression 
    = new JRDesignExpression();
            expression.setValueClass(java.lang.String.
    class);
            expression.setText(
    "$F{password}");
            textField.setExpression(expression);
            band.addElement(textField);
            
    // department
            textField = new JRDesignTextField();
            textField.setStretchWithOverflow(
    true);
            textField.setX(
    350);
            textField.setY(
    4);
            textField.setWidth(
    80);
            textField.setHeight(
    15);
            textField.setPositionType(JRElement.POSITION_TYPE_FLOAT);
            textField.setStyle(normalStyle);
            expression 
    = new JRDesignExpression();
            expression.setValueClass(java.lang.String.
    class);
            expression.setText(
    "$F{department}");
            textField.setExpression(expression);
            band.addElement(textField);
    JasperReport對(duì)象可以使用下面這句產(chǎn)生:
    JasperCompileManager.compileReport(jasperDesign);
    至此一個(gè)完整的報(bào)表就可以顯示出來(lái)了。
    posted on 2008-12-16 13:27 凌晨風(fēng) 閱讀(2353) 評(píng)論(2)  編輯  收藏 所屬分類: iReport + JasperReport 系列

    FeedBack:
    # re: iReport+jasperReport之NoXML
    2009-02-17 14:50 | entering
    請(qǐng)問(wèn)如何動(dòng)態(tài)的增在“Summary”中增加“圖形報(bào)表” 呢?
      回復(fù)  更多評(píng)論
      
    # re: iReport+jasperReport之NoXML
    2009-02-17 15:03 | 凌晨風(fēng)
    @entering
    圖形報(bào)表一般在jasper中是以image 變量的形式出現(xiàn)的,這個(gè)和普通字段的設(shè)計(jì)沒(méi)有區(qū)別,主要就是構(gòu)造你的圖形scriplet,再者jasper對(duì)jChart圖表支持的很到位,你可以多看看它的文檔尤其iReport生成的jrxml文件結(jié)構(gòu)  回復(fù)  更多評(píng)論
      

    <2008年12月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    留言簿(11)

    我參與的團(tuán)隊(duì)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    新聞分類

    新聞檔案

    收藏夾

    圍脖

    最新隨筆

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲视频免费在线播放| 亚洲欧美乱色情图片| 久久久青草青青亚洲国产免观| 亚洲av无码国产精品色在线看不卡 | 天堂在线免费观看中文版| 日韩亚洲国产高清免费视频| 蜜桃成人无码区免费视频网站 | 在线观看亚洲视频| 久久久久亚洲国产AV麻豆| 久久久久久亚洲精品无码| 亚洲成AV人片在WWW| 久久亚洲精品无码gv| 国产亚洲精品美女久久久久| 麻豆亚洲AV成人无码久久精品| 国产亚洲视频在线| 成人久久久观看免费毛片| 人人爽人人爽人人片A免费 | 亚洲中文字幕无码av永久| 亚洲色偷偷色噜噜狠狠99网| 亚洲色欲啪啪久久WWW综合网| 亚洲精品伦理熟女国产一区二区| 亚洲1区2区3区精华液| 特级毛片A级毛片100免费播放| 伊人久久国产免费观看视频| 久久国产精品免费一区| 东方aⅴ免费观看久久av| 最近最新高清免费中文字幕| 97在线线免费观看视频在线观看| 久久精品a一国产成人免费网站| 国内自产拍自a免费毛片| 亚洲Av无码国产情品久久 | 在线不卡免费视频| 免费大黄网站在线看| 亚洲熟妇无码乱子AV电影| 亚洲免费在线播放| 亚洲av乱码一区二区三区| 婷婷国产偷v国产偷v亚洲| a毛片成人免费全部播放| 日韩精品久久久久久免费| 成年人免费观看视频网站| 精品国产亚洲男女在线线电影 |