ObjectListView is a C# wrapper around a .NET ListView. It makes the ListView much easier to use and provides some neat extra functionality.
Larry Wall, the author of Perl, once wrote that the three essential character flaws of any good programmer were sloth, impatience and hubris. Good programmers want to do the minimum amount of work (sloth). They want their programs to run quickly (impatience). They take inordinate pride in what they have written (hubris).
ObjectListView encourages the vices of sloth and hubris, by allowing programmers to do far less work but still produce great looking results.
Here is an example of what your ListView can look like with a few callbacks in place:
The TreeListView similarly make a tree structure look beautiful:
And this is the report that can be effortlessly produced from the ObjectListView:
OK, here's the bullet point feature list:
ListView
.ListView
. ListView
views (report, tile, large and small icons). DataListView
version supports data binding. FastObjectListView
version can build a list of 10,000 objects in less than 0.1 seconds.VirtualObjectListView
version supports millions of rows through ListView
's virtual mode (much improved in v2.0). TreeListView
version combines an expandable tree structure with the columns of a ListView
. You can download a demonstration of the ObjectListView in action. This demo includes ObjectListView project which you need to include in your project.
Once you have the demo, you might want to look at the Getting Started and the Cookbook sections. Please make sure you have read and understood these sections before asking questions in the Forums. There is an article describing the ObjectListView at CodeProject.
At some point, you will want to do something with an ObjectListView and it won't be immediately obvious how to make it happen. After dutifully scouring the Getting Started and Cookbook section, you decide that is is still not obvious. The Forum section is the place to find all your as-yet-unasked questions. The discussion on CodeProject is also fairly lively.
It may even be possible that you might find some undocumented features in the code (also known as bugs). These "features" can be reported to the project's Issue Tracker and the status of your "feature" report can be tracked here.
Finally, after you realise just how great the ObjectListView is, and how you really have come to love .NET's ListView, you will be moved with gratitude to give a donation to ensured the continued development of this code.
If you would like to ask me a question or suggest an improvement, you can contact me here: phillip_piper@bigfoot.com.
If you are a very keen developer, you can access the SVN repository directly for this project. The following SVN command will fetch the most recent version from the repository:
svn co https://objectlistview.svn.sourceforge.net/svnroot/objectlistview/cs/trunk objectlistview
There are details on how to use Subversion here on SourceForge.
Please remember that code within the SVN is bleeding edge. It has not been well-tested and is almost certainly full of bugs. If you just want to play with the ObjectListView, it's better to stay with the official releases, where the bugs are (hopefully) less obvious.
When thinking about using some new code, it's always interesting to hear what others have said about it.