提到spread,也許做國內項目的不太知道,但是做過對日項目的就一定知道,網格控件開發裡的Number One就是它了。無論C/S結構的,還是B/S結構的項目,spread是跟著腳步走,做得也是相當完美。spread for Form的控件有設計模式,開發者只需要簡單地做些配置就可以實現幾乎所有你想要實現的,但是spread for web這個控件卻沒有那麼簡單明了,雖然spread設計者已經幫你完善了很多功能,但有利也有弊,例如用戶不喜歡那種Cell旁邊彈出消息框的驗證風格怎麼辦?下面我就實現如何截獲spread前台事件,實現自己想要的消息提示。
首先,我要說明,spread for web的所有前台事件(焦點事件,編輯事件等)都是用腳本實現的,它是調用fp_clIEnt文件夾下的.JS腳本來實現前台事件的,所以我要把這個文件夾全部拷貝到你的工程文件夾下(這個文件夾在安裝目錄的Samples裡面,例如C:\Program Files\SpreadNETWeb3\Samples\VB\ClIEntScript)。然後要在web.config文件裡面引入這些腳本,如下代碼
之後,你就可以用fp_clIEnt裡面的事件了,要知道,既然都是腳本實現事件,所以你也要用腳本來截獲事件,這樣你就要在.ASPx頁面引入你自己的一個.js文件,在頁面啟動事件裡調用JS函數<body onload="return fncInitSpread();">
不用寫得太詳細了吧,你得到了事件,就在相應的函數裡寫你的處理就可以了,比如,fncEditStop()裡面就可以寫對spread對應cell的值的check,如果出錯了,alert或者在網頁的什麼地方輸出錯誤信息,就是隨便的了。
具體可以截獲的事件就看看fp_clIEnt\fpspread\3_0_2002_2005\htc文件夾下的fpspread.JS腳本吧。
雖然事件挺多的,但是也不是太完全,比如我想動態添加spread的列就不能實現,動態添加行是可以的。