使用 SourceGrid 有一段時間了,當初是因為自己開發的一套軟體必須將資料以儲存格的方式展現,而且這個 grid 元件必須符合下列需求:

  1. 儲存格能夠依資料內容而任意合併,比如說,第 0..3 行合併,第 4 行不合併,第 5..6 合併...諸如此類的,當然列也必須能夠合併。這是最重要的需求。
  2. 儲存格要夠彈性,可內嵌多種編輯器(例如:文字、CheckBox、ComboBox 等),並且提供足夠的觸發事件,讓外界能夠任意處理儲存格的鍵盤與滑鼠事件。
  3. 免費,而且有原始碼。

後來我找到 SourceGrid 這套免費元件,它不僅附完整的 C# 原始碼及範例程式,連線上說明文件都有(.chm 格式)。使用一陣子之後,發現這套元件不但符合上述需求,而且元件本身的設計非常彈性,程式碼的品質也不錯,就開放原始碼的元件來說,真是物超所值。SourceGrid 是採用 MVC(Model-View-Control)的設計模式,將儲存格的顯示、控制、與資料分離,每個儲存格可以套用不同的 view 來任意切換顯示樣式(如字型、背景顏色等),而且可以指定不同的編輯器。

SourceGrid 除了本身提供的教學文件與 API 文件,它本身附的個範例程式也是非常方便的學習資源,其實我大都是直接看範例,再依樣畫葫蘆,文件倒沒怎麼細 K。順便把我的程式畫面貼上來:

免費元件最讓人擔心的,就是後續的維護與更新。SourceGrid 最近一次發布新版的日期是 2007-10-16,而且從更新的頻率來看,短期內應該是不用自己辛苦地去改程式,可以安心服用啦。