如果您要处理用大量的比如说:一百个数据项(例如,收件箱里的邮件列表)的列表(译注:本文将items译为数据项),过滤、查找、分类,以及其它分组功能将很快变得困难而单调乏味。特别是排序和分组大大提高了一个列表中数据项的结构,默认情况下,这是我想要应用到我的所有列表的功能特性。特别情况下,我还会寻找一个允许将相似的项一起安排和分组列表/网格的控件,很像在Outlook 2003中使用的网格(或列表?)。
我知道这里有一些支持这类功能的商业列表/网格(控件);然而,在试用它们的时候我也遇到过若干bug。不能访问源代码(译注:因为商业目的)使得这非常令人沮丧,因此我想倒不如我写篇CodeProject文章,看看我是否可以拿出一个自定义解决方案。
因为网格比列表更加灵活,我决定实现一个可以一起分组的网格控件,正如Outlook一样。这个控件用C#2.0在VS 2005上实现的。现在,我不能保证这个实现没有bug,但至少它是免费的,并且它有源代码。因而,您可以根据您的需要修改它们,以适合于您自己的用途。无论如何要注意:这个控件并没有完成!一些功能也许不能正确地工作或完全不能工作。该控件主要关注于排序、分组并在网格上显示数据项,这些功能特性我想已做得相当地好了。
在网格中插入、更新和删除行及单元格不在我考虑的范围之内。
资源文件列表
OutlookGrid/OutlookGrid/OutlookGrid/DataSourceManager.cs , 9879
OutlookGrid/OutlookGrid/OutlookGrid/OutlookGrid.Designer.cs , 1472
OutlookGrid/OutlookGrid/OutlookGrid/OutlookGrid.cs , 17110
OutlookGrid/OutlookGrid/OutlookGrid/OutlookGrid.csproj , 2717
OutlookGrid/OutlookGrid/OutlookGrid/OutlookGrid.csproj.user , 227
OutlookGrid/OutlookGrid/OutlookGrid/OutlookGridGroup.cs , 22479
OutlookGrid/OutlookGrid/OutlookGrid/OutlookGridRow.cs , 11008
OutlookGrid/OutlookGrid/OutlookGrid/Properties/AssemblyInfo.cs , 1354
OutlookGrid/OutlookGrid/OutlookGrid/bin/Debug/OutlookGrid.dll , 22016
OutlookGrid/OutlookGrid/OutlookGrid/bin/Debug/OutlookGrid.pdb , 62976
OutlookGrid/OutlookGrid/OutlookGrid/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 5987
OutlookGrid/OutlookGrid/OutlookGrid/obj/Debug/OutlookGrid.csproj.FileListAbsolute.txt , 432
OutlookGrid/OutlookGrid/OutlookGrid/obj/Debug/OutlookGrid.dll , 22016
OutlookGrid/OutlookGrid/OutlookGrid/obj/Debug/OutlookGrid.pdb , 62976
OutlookGrid/OutlookGrid/OutlookGrid.sln , 923
OutlookGrid/OutlookGrid/OutlookGrid.suo , 25600
