在 IW14 版,新增了 Content Handlers 特色後,當時還不是很了解這功能可以帶來什麼好處。
但在看了【IntraWeb 之 EasyUI 篇】後,才恍然大悟,原來前端可以這麼簡單開發:
我再也不用為了改一個字而整個服務停機啦!
接下來,我也依樣畫葫蘆,做了一個簡單的展示:
後端及資料庫: Delphi 10.1 + IntraWeb 14.1.4 + Firebird 2.5
前端: EasyUI (JQuery components) 1.5.1
作者:吳祐賓
IntraWeb(以下簡稱IW)是Delphi裡繼WebSnap後另一個網站設計解決方案。
許多Delphier認為IW不是個一回事。
不過如果IW真的這麼糟,能從3.x發展到現在的XIV,直接說它不堪使用也未免太過武斷。
今天為了證明IW實用性而找了一個專案來嘗試看看。
就以陳惟彬老師的ASP.NET會計系統來體驗試作。
ASP.NET會計系統程式設計 2002 陳惟彬著 |
整個專案所需要的檔案 |
IntraWeb 會計系統主畫面 |
新增子會科程式畫面 |
1.為了配合AJAX(Asynchronous JavaScript and XML),在IW元件中,或多或少都有提供OnAsync事件,而要使用OnAsync事件時,必須要注意搭配元件的刷新。
以「新增子會科程式」為例,當TIWDBAdvWebGrid允許Async Edit時,就必須在.OnAsyncEdit事件寫上TIWDBAsyncNavigator元件變更處理,否則便出現 Grid 在編輯狀態,但Navigator卻沒有變化的搞笑情形。
2.TIWDBGrid和TDBGrid很像,但編輯功能還需要綁定其它TIWDBxxx元件。
3.新增功能:
A.TIWDBGrid:無此功能,必須另外設計新增畫面。
B.TIWDBAdvWebGrid:有新增功能,非常接近TDBGrid體驗。
4.TIWDBAdvWebGrid內建就有和ASP.NET Grid相同的分頁功能,這是DBGrid沒有的功能。
TIWDBAsyncNavigator 的圖片無法顯示 |
IWDBAsyncNavigator 圖示路徑 |
IWDBNavigator 圖示路徑 |
{$IFDEF TMSIW11} {$IF FALSE} if url = '' then url := '$/gfx/DBNAV_' + Action + '.gif'; if urld = '' then urld := '$/gfx/DBNAV_' + Action + 'Disabled.gif'; {$ELSE} if url = '' then url := 'gfx/DBNAV_' + Action + '.gif'; if urld = '' then urld := 'gfx/DBNAV_' + Action + 'Disabled.gif'; {$IFEND} {$ELSE} if url = '' then url := '/gfx/DBNAV_' + Action + '.gif'; if urld = '' then urld := '/gfx/DBNAV_' + Action + 'Disabled.gif'; {$ENDIF}
IWDBAsyncNavigator 圖示終於可以正確顯示 |