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

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

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

    report9d

    2009年3月4日 #

    特大喜訊: 簡(jiǎn)表(JOR),國(guó)內(nèi)唯一開(kāi)源的java報(bào)表工具隆重啟航!

    簡(jiǎn)表(JOR),是一款開(kāi)源的報(bào)表工具,完全java實(shí)現(xiàn),核心代碼來(lái)自于國(guó)內(nèi)一線(xiàn)報(bào)表工具品牌杰表.2008 。

    提起開(kāi)源的報(bào)表工具,不能不說(shuō)說(shuō)jaspereport,jasperreport作為著名的開(kāi)源報(bào)表工具,在java程序員中一直享有盛名。但由于其設(shè)計(jì)主要是針對(duì)西式的簡(jiǎn)單報(bào)表,設(shè)計(jì)起復(fù)雜的中式報(bào)表來(lái),有點(diǎn)力不從心,所以,在國(guó)內(nèi)的項(xiàng)目中能成功應(yīng)用的例子并不多。JOR,作為能做復(fù)雜報(bào)表的開(kāi)源報(bào)表工具,可以彌補(bǔ)jasperreport的不足。

    下載地址:

    http://www.jatools.com/jor

    posted @ 2009-10-15 16:09 report9d 閱讀(343) | 評(píng)論 (0)編輯 收藏

    原創(chuàng)olap引擎,純java實(shí)現(xiàn)的

    java實(shí)現(xiàn)的olap服務(wù)器,完全自主產(chǎn)權(quán),純java實(shí)現(xiàn). cube架構(gòu),性能優(yōu),占用空間小.


     

    分析模型設(shè)計(jì)器

     


    posted @ 2009-09-25 18:47 report9d 閱讀(372) | 評(píng)論 (0)編輯 收藏

    換個(gè)角度來(lái)曬曬杰表.2008

    閑話(huà)少說(shuō),曬幾個(gè)杰表.2008的ppt截圖,希望有助于大家對(duì)報(bào)表工具的選擇.













     


    posted @ 2009-09-02 13:02 report9d 閱讀(952) | 評(píng)論 (0)編輯 收藏

    jni 學(xué)習(xí)筆記一(原創(chuàng))

    jni 類(lèi)型

    簡(jiǎn)單類(lèi)型 primitive type

    jni有8大基本類(lèi)型, jboolean,jbyte,jchar,jshort,jint,jfloat,jlong,,jdouble
    8位,16位,32位,64位,各兩個(gè)(在win32平臺(tái)中,其他平臺(tái)不一定)

    java類(lèi)型與c++數(shù)據(jù)類(lèi)型的映射關(guān)系是如下:
    jboolean <--> unsigned char
    jchar   <--> unsigned short
    jshort  <--> short
    jfloat  <-->  float
    jdouble <--> double

    這是在 jni.h里定義的,為啥缺了jbyte,jint,jlong的映射呢?
    答案是:sun在實(shí)現(xiàn)java虛擬機(jī)時(shí),考慮到虛擬機(jī)可能運(yùn)行在不同的操作系統(tǒng)和不同的硬件平臺(tái)上,比如,硬件平臺(tái)有8位,16位,32位,64位的區(qū)別,為了更好地與硬件平臺(tái)匹配,發(fā)揮最好的性能,將一些類(lèi)型抽取出來(lái),允許在不同的平臺(tái)上有不同的表示(位數(shù)),我們姑且稱(chēng)之為硬件相關(guān)類(lèi)型,jbyte,jint,jlong就屬于硬件相關(guān)類(lèi)型。

    舉列來(lái)說(shuō),如果你在32位機(jī)上,jint表示的是32bit的,而在64位機(jī)上,一般是64位即8個(gè)字節(jié)表示,也就是說(shuō),jbyte,jint,jlong在sun的虛擬機(jī)上,位數(shù)是不定的。

    那位數(shù)不一定,怎么編譯?   sun的方法是增加一個(gè)機(jī)器相關(guān)的jni_md.h文件,這里的md是machine dependent(機(jī)器相關(guān))的意思。在win32平臺(tái)中,這三個(gè)類(lèi)型的定義如下:

    typedef long jint;
    typedef __int64 jlong;
    typedef signed char jbyte;

    由此可見(jiàn),在win32平臺(tái)中,jint是32位的,jlong是64位,jbyte是8位的.

    指針類(lèi)型  reference type
    reference 準(zhǔn)確的譯法,應(yīng)該是引用,但引用實(shí)際上就是指針的一種偽裝,只不過(guò)更接近人的思維罷了。如果說(shuō),"爸爸的爸爸"是一種指針概念,那"爺爺"就是一種引用概念。

    jni把類(lèi)型分為兩大類(lèi),一個(gè)是簡(jiǎn)單類(lèi)型,一個(gè)是引用類(lèi)型,下面是引用類(lèi)型



    從上圖似乎可以看出,所有引用類(lèi)型,都從jobject 繼承,jarray又被幾個(gè)簡(jiǎn)單類(lèi)型的數(shù)組繼承.
    但實(shí)際上這個(gè)對(duì)象層次,是一種假象,跟我們c++與java中看到的對(duì)象層次是有區(qū)別的,jobject與LPSTR(字符串指針),本質(zhì)上沒(méi)有區(qū)別:
    1.  jobject, jclass,jstring,...等,所有對(duì)象,是指針,不是對(duì)象本身,而指針是不存在繼承關(guān)系的,“小狗”的指針,從“動(dòng)物”的指針繼承,這種說(shuō)法不成立。
    2. jobject,jclass,jstring 是一種指針,不存在任何操作方法,好比你不能 LPCSTR->strlen(),在jni中,也沒(méi)有提供任何  jobject->something() 這種調(diào)用。
    3. 對(duì)這些對(duì)象的操作必須依賴(lài)于 env對(duì)象的操作方法.

    看一下,jni.h中對(duì) 這些引用對(duì)象的定義

    class _jobject {};
    class _jclass : public _jobject {};
    class _jstring : public _jobject {};
    ...
    typedef _jobject *jobject;     //_jobject才是類(lèi)定義,jobject 是否_jobject的指針
    typedef _jclass *jclass;
    typedef _jstring *jstring;
    ...

    在這些下劃線(xiàn)對(duì)象中,有什么成員變量,成員函數(shù)呢? 答案是你什么也不能得到,比如,你想知道,_jstring對(duì)象的字符串長(zhǎng)度,你不能 _jstring.length(),得到,而必須env->GetStringLength(jstring) 來(lái)得到.

    只給你一個(gè)對(duì)象的指針,不告訴你里面有什么,這樣做的好處是實(shí)現(xiàn)與接口分離。

    jvalue 這個(gè)類(lèi)型,是一個(gè)union ,感覺(jué)很想com里的variant對(duì)象,不過(guò)沒(méi)有指明類(lèi)型的field
     typedef union jvalue {
        jboolean z;
        jbyte    b;
        jchar    c;
        jshort   s;
        jint     i;
        jlong    j;
        jfloat   f;
        jdouble  d;
        jobject  l;
    } jvalue;
    我現(xiàn)在還不知道,這個(gè)數(shù)據(jù)類(lèi)型,什么時(shí)候用.

    jfieldID是一個(gè)java類(lèi)成員變量的id,這個(gè)id在c++中,實(shí)際是一個(gè)指向結(jié)構(gòu)的一個(gè)指針, jmethodID  是成員方法的id,  不管是成員變量還是方法的id,在java類(lèi)被加載進(jìn)虛擬機(jī)后,是保持不變的。所以從考慮性能計(jì),可以使用靜態(tài)緩存的方法,先取出來(lái),后面會(huì)講到

    字符串類(lèi)型
    這里說(shuō)的字符串類(lèi)型,是jni中char * 的格式,不是指 jstring/_jstring,jni也使用 char * 字符串指針,
    好下所示:
        jmethodID GetMethodID (JNIEnv *env, jclass clazz, const char *name, const char *sig);

    但需要注意的是,這里的name,必須是UTF-8的編碼,utf-8對(duì)于ascii字符,只占一個(gè)字節(jié),最多不超過(guò)3個(gè)字節(jié)

    posted @ 2009-06-22 10:12 report9d 閱讀(2277) | 評(píng)論 (1)編輯 收藏

    java報(bào)表圖例大全

    通過(guò)圖片介紹java報(bào)表開(kāi)發(fā)過(guò)程中,經(jīng)常遇到的一些報(bào)表類(lèi)型,統(tǒng)計(jì)圖,及可視化的設(shè)計(jì)等.下面以 杰表.2008 為例介紹之.

     

    一、支持報(bào)表類(lèi)型

    主從報(bào)表

    套打報(bào)表

    標(biāo)簽報(bào)表

    分欄報(bào)表

    計(jì)算比去年增長(zhǎng)數(shù)

    計(jì)算比去年同期增長(zhǎng)數(shù)

    補(bǔ)足空行的表格報(bào)表

    多表合并.不同的數(shù)據(jù)集,做成一個(gè)相連的報(bào)表.

    公式分組報(bào)表.按字段值,進(jìn)行分類(lèi),分級(jí)

    排行榜(Top N)報(bào)表

    按匯總值大小排序的分組

    多級(jí)分組

    計(jì)算占比

    顯示排名

    交叉表折頁(yè)處理



    層次不等的交叉表

    行列并行分組的交叉表

    多數(shù)據(jù)集的交叉表

    靜態(tài)表格中的公式計(jì)算

     

    二、javabean數(shù)據(jù)源

    使用java數(shù)組

    假設(shè)項(xiàng)目組其他成員已經(jīng)編寫(xiě)了一個(gè)Student類(lèi),如下圖(a),該類(lèi)定義四個(gè)方法,分別獲取其姓名,年齡,性別,分?jǐn)?shù)。由腳本構(gòu)造一個(gè)包含三個(gè)Student對(duì)象的數(shù)組,如圖(b),要求你做成下圖(c)所示報(bào)表。

    嵌套的java對(duì)象數(shù)據(jù)源

    假設(shè)你有下圖(a)所示的兩個(gè)類(lèi)Student和Person,你可以使用Student的getMembers()方法,取得該學(xué)生的家庭成員列表,每個(gè)家庭成員用一個(gè)Person對(duì)象表示,該對(duì)象包含與該學(xué)生的關(guān)系、姓名、性別等信息。

    ResultSet數(shù)據(jù)源

    指定sql查詢(xún)一個(gè)報(bào)表


    三、統(tǒng)計(jì)圖與條碼

    插入統(tǒng)計(jì)圖對(duì)象

    設(shè)置統(tǒng)計(jì)圖背景及立體效果

    設(shè)置統(tǒng)計(jì)圖輸出格式為Flash

    從統(tǒng)計(jì)圖鉆取另一個(gè)明細(xì)報(bào)表

    你可以在統(tǒng)計(jì)圖的某一個(gè)數(shù)據(jù)區(qū)放置一個(gè)超鏈接,使用戶(hù)雙擊該區(qū)時(shí),跳轉(zhuǎn)到另一個(gè)子報(bào)表或網(wǎng)頁(yè),如,有一個(gè)柱形圖,顯示各產(chǎn)品的庫(kù)存量,點(diǎn)擊某個(gè)產(chǎn)品的柱面,就可以打開(kāi)該產(chǎn)品相關(guān)的銷(xiāo)售記錄。

    餅圖

    以時(shí)間為橫軸的統(tǒng)計(jì)圖

    混合類(lèi)型統(tǒng)計(jì)圖

    雙軸統(tǒng)計(jì)圖

    創(chuàng)建甘特圖

    特殊統(tǒng)計(jì)圖








    創(chuàng)建條形碼對(duì)象

    日常生活中條形碼隨處可見(jiàn),條形碼用幾何圖形表示數(shù)據(jù),并可以被專(zhuān)門(mén)設(shè)備識(shí)別。杰表可支持的13種條形碼,分別是codabar、code39、code128、2of5、postnet、ean-128、ean-13、ean-8、upc-a、upc-e、royal-mail-cbc、pdf417、datamatrix,其中最后兩種是二維條形碼。

    一維碼   二維碼  

    設(shè)置圖片背景

    顯示數(shù)據(jù)庫(kù)字段上的圖片


    三、特殊的報(bào)表效果

    凍結(jié)窗口效果

    點(diǎn)擊表頭排序

    使用超鏈接子報(bào)表

    當(dāng)你瀏覽報(bào)表時(shí),可能需要了解更詳細(xì)的信息,比如,我們?cè)跒g覽一個(gè)訂單列表時(shí),希望了解該訂單中各貨物的銷(xiāo)售數(shù)量。這時(shí),你可以在訂單列表中,加一個(gè)超鏈接,使用戶(hù)在點(diǎn)擊該鏈接后,可以跳轉(zhuǎn)到顯示該訂單明細(xì)的一個(gè)報(bào)表。
    你可以在主表中,點(diǎn)擊訂單ID,即可瀏覽該訂單出售的所有貨物明細(xì),如下圖所示:

    熱點(diǎn)提示

    復(fù)雜匯總

    顏色警告

    斑馬條

    創(chuàng)建頁(yè)小計(jì)、頁(yè)累計(jì)報(bào)表

     

    四、可視化設(shè)計(jì)器

    設(shè)計(jì)參數(shù)表單

    杰表.2008配備了一個(gè)可視化參數(shù)表單設(shè)計(jì)器,使用這個(gè)設(shè)計(jì)器,你可以不離開(kāi)報(bào)表設(shè)計(jì)器環(huán)境,輕松制作查詢(xún)表單。表單設(shè)計(jì)器有豐富的web控件,檢驗(yàn),事件偵聽(tīng),css樣式機(jī)制,你也可以使用javascript腳本擴(kuò)展表單功能,同時(shí),也實(shí)現(xiàn)了常用的多個(gè)下拉框聯(lián)動(dòng)功能。

    可視化的報(bào)表設(shè)計(jì)器

    報(bào)表預(yù)覽面板

     

    posted @ 2009-03-04 17:58 report9d 閱讀(5867) | 評(píng)論 (5)編輯 收藏

    主站蜘蛛池模板: a毛看片免费观看视频| 亚洲国产精品综合久久网各| 亚洲成av人片一区二区三区| 午夜无遮挡羞羞漫画免费| 国产精品无码免费播放| 欧美三级在线电影免费| 国产福利在线免费| 亚洲国产精久久久久久久| 日韩免费无砖专区2020狼| 欧洲美熟女乱又伦免费视频| 成年女人永久免费观看片| 免费日韩在线视频| 亚洲中文字幕无码爆乳av中文| 国产国拍亚洲精品福利 | 免费视频淫片aa毛片| 四虎影院免费在线播放| 国产免费小视频在线观看| 亚洲第一区精品日韩在线播放| 亚洲裸男gv网站| 亚洲国产成人精品无码区在线观看 | 无忧传媒视频免费观看入口| a一级爱做片免费| 国产午夜亚洲精品不卡| 免费无码婬片aaa直播表情| xxxxx做受大片在线观看免费| 男人天堂免费视频| 99久久99热精品免费观看国产| 成人免费观看一区二区| 日本午夜免费福利视频| 亚洲精品无码日韩国产不卡?V| 亚洲精品无码久久千人斩| 亚洲小视频在线观看| 久久综合久久综合亚洲| 日韩在线观看视频免费| 老司机免费午夜精品视频| a级毛片无码免费真人久久| 久久午夜夜伦鲁鲁片免费无码影视 | 99热亚洲色精品国产88| 国产av无码专区亚洲av毛片搜| 中文字幕看片在线a免费| 免费在线观看h片|