請問網際網路應用: 資料庫 + 報表 使用何種方案 ? |
缺席
|
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
|
yangkee
一般會員 發表:0 回覆:1 積分:0 註冊:2007-08-22 發送簡訊給我 |
intraweb的资料确实太少,help和demo都是2005年的了:-(
我现在也在用intraweb写东西,同样苦于资料难寻,希望大家多多交流 intraweb5-->intraweb7-->intraweb9的改动实在太大了,而d2007的demo还是intraweb7的,有误导之嫌 这个估计对你有帮助 用 rave 实现 intraWeb 报表http://hi.baidu.com/rarnu/blog/item/4a471fd5953ebdc650da4b61.html |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
1. 如果客户端不用 IE,那就简单了。你可以用 N Tier 模式,客户端从服务器把需要的 Data 拿到,在客户端自己生成报表。用什么报表工具都可以。
2. 如果客户端是 IE,一定要在 IE 里操作,而且服务器端是 IntraWeb,我还真的做过。办法如下: =========== 1. 在服务器端,我写了一个可以打印报表的程式。我用了 FastReprot 因为 FastReport 可以把报表结果输出为一个 File,这个 File 可以由 FastReport 来打开。为了让 IntraWeb 能够获得这个报表,我把这个程式写成了一个 COM ,其实你也可以直接把报表生成部分的代码直接写到 IntraWeb 里。 2. IE 里提交了某个访问,也就是点了 IntraWeb 的某个 Button,在 IntraWeb 的 CGI 或者 ISAPI 里,我去调用前面写的那个 COM 的某个函数,获得报表文件的 Data,然后在 IntraWeb 里直接输出给 IE 3. IE 端收到报表的 File Data,弹出保存档案的对话框。这是一个 FastReport 的报表档,大概是 abc.frt,对不起,5年前做过,忘记了 FastReport 的报表档的后缀名了。 4. 客户端,你用 Delphi 写一个可以打开浏览 FastReport 的报表档的程式。这个简单,丢一个 FastReport 的 Control 到你的 Delphi 的 Form 里就可以了。 5. 让用户更简单,当然程式也就更复杂的是:让第4步你做的那个报表 Preview 的程式关联到后缀是 frt 的档案上,IE 在下载完成后,将会自动启动第4步写的程式,打开那个报表 Preview 给用户。用户在里面点选 Print button 就可以直接打印了。 上面 5 步,可能涉及到的有点麻烦的问题是: 1. 如何让 IntraWeb 去调用 COM 还不出错。我曾经在这里被卡住,最后解决了。如何解决的已经忘记了; 2. 如何让 IntraWeb 输出一个 TStream 给 IE,让 IE 认为是 File Download 并且还知道 File Name,这个查下资料就能查到。我也已经忘记了。 ======================================= 另外一个解决办法是采用 ActiveForm 内嵌到 IE 的 Web Page 里的方式。可以这样做: 1. 写一个普通的 Delphi 程式,内有报表 Control ,你采用 FastReport 或者其它任何一个报表都可以; 2. 这个程式,通过 Socket Connection 或者 WebService 和一个服务器端通讯来获取报表所需要的 Data,当然因此你需要些一个服务器端的程式。 3. 这个通过 N Tier 的模式从远端拿到数据并生成报表的程式调试通过没问题后,把它转换为一个 Active Form 程式。 4. 把编译后的 Active Form 发布到你的网页里,IntraWeb 只需要在适当的时候输出这个页面就可以了。用户就可以在他的 IE 页面里看到这个程式的画面,打开报表,打印报表。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |