推薦:學(xué)習(xí)Asp.Net經(jīng)常會用到的函數(shù)集1、DateTime 數(shù)字型 System.DateTime currentTime=new System.DateTime(); 1.1 取當(dāng)前年月日時分秒 currentTime=System.DateTime.Now; 1.2 取當(dāng)前年 int 年=currentTime.Year; 1.3
先談一下我對FR的感受,F(xiàn)R源于1997一個俄羅斯人的不經(jīng)意間的一個決定,他在delphi編程中發(fā)現(xiàn)沒有一個報表系統(tǒng)可以滿足他當(dāng)時的需要,于是就打算親手做一個。在98年作者的想做一個快速響應(yīng),簡單的,支持腳本的報表系統(tǒng)有了正式的命名。作者憑借著很強的ole操作技巧很快的把FR變成了delphi中間使用率很高的報表組件。
個人不喜歡pascal語言,自然的就不喜歡delphi,我對FR的景仰完全的是因為作者是一個俄羅斯的程序員,并且FR體現(xiàn)的理念很獨到,另外小巧的組件大小也是作者自豪的地方。我這次公開的demo中包含的是FR3.0系列的COM專用組件。我在它的論壇了解到4.0會有部分不兼容3.0并且在報表定義上有些分歧,當(dāng)然也多了一些功能。
在.net調(diào)用com本身是一件很容易的事情,但是有很多技巧需要把握。如果仔細(xì)觀察demo你會發(fā)覺一點,這也是我想和大家分享的地方,因為本篇以FR為例但是不局限于FR,我對FR的了解大致是通透的一份programmers manual和5分鐘的user manual跳讀,我還沒有用FR做過一份業(yè)務(wù)上的模版,所以一些問題我可能也說不上,據(jù)我的同事們說在不同的操作系統(tǒng)中可能會有些細(xì)小的bug,所以我推薦用戶環(huán)境是xp。
花了點時間準(zhǔn)備,下面就是成果了
FastReportService.Instance.ShowDesigner(delegate(TfrxReport report) { report.MainWindowHandle = (int)this.Handle; },
null, GetDataSource(), null, String.Format("{0}//Simple list.fr3", Application.StartupPath), null);
FastReportService.Instance.ShowReport(null, null, GetDataSource(), true, false, null,
String.Format("{0}//Simple list.fr3", Application.StartupPath));
FastReportService.Instance.ShowDesigner((int)this.Handle, GetDataSource());
這是demo中的片斷,你可以看到,封裝后的.net調(diào)用足夠的簡單。這是常見的三個場景用例。
service.CustomRegSvr = true;
這個開關(guān)顯示著一個com免部署的方法。要看效果直接運行FRDemo.exe。我希望可以有些驚奇。
這個demo依賴兩個程序集,分別是frlib.dll和RegSvrEx.dll。給公司的版本是簽名的,我給出沒有簽名的版本,請合理使用。
分享:.net開發(fā)中的一些注意事項及小技巧1、構(gòu)造函數(shù)不能帶返回值類型,因為構(gòu)造函數(shù)返回就是對象本身。2、將字符串轉(zhuǎn)換成日期類型,用DateTime.Parese()或DateTime. ParseExact ()函數(shù)。3、if(!Page.IsPostback){}使用該函數(shù)
新聞熱點
疑難解答
圖片精選