摘要: 一個允許分組和排列數據項的網格,很像Outlook。
運行環境:C#,Windows (Win2K, WinXP, Win2003), .NET (.Net 2.0)
Win32, VS (VS2005), WinForms Dev
簡介
如果您要處理用大量的比如說:一百個數據項(例如,收件箱裡的郵件列表)的列表(譯注:本文將items譯為數據項),過濾、查找、分類,以及其它分組功能將很快變得困難而單調乏味。特別是排序和分組大大提高了一個列表中數據項的結構,默認情況下,這是我想要應用到我的所有列表的功能特性。特別情況下,我還會尋找一個允許將相似的項一起安排和分組列表/網格的控件,很像在Outlook 2003中使用的網格(或列表?)。
我知道這裡有一些支持這類功能的商業列表/網格(控件);然而,在試用它們的時候我也遇到過若干bug。不能訪問源代碼(譯注:因為商業目的)使得這非常令人沮喪,因此我想倒不如我寫篇CodeProject文章,看看我是否可以拿出一個自定義解決方案。
因為網格比列表更加靈活,我決定實現一個可以一起分組的網格控件,正如Outlook一樣。這個控件用C#2.0在VS 2005上實現的。現在,我不能保證這個實現沒有bug,但至少它是免費的,並且它有源代碼。因而,您可以根據您的需要修改它們,以適合於您自己的用途。無論如何要注意:這個控件並沒有完成!一些功能也許不能正確地工作或完全不能工作。該控件主要關注於排序、分組並在網格上顯示數據項,這些功能特性我想已做得相當地好了。在網格中插入、更新和刪除行及單元格不在我考慮的范圍之內。
在這篇文章中,我將解釋這個控件怎麼用,和它能做什麼,並且也包含了什麼它不能做,主要把焦點集中在只想要按現在的樣子復用該控件的開發組。然後,對於為了他們自己的用途想要擴展或改變這個控件的實現的開發者,我將對這個控件內部運作做一點更為詳細的解釋。