Replacement ListView control for NProf

"Josh" <josh-VuFOqW9/[email protected]> Fri, 9 Jan 2004 19:39:28 -0600
Newsgroups gmane.comp.windows.dotnet.nprof.devel
Message-ID <[email protected]>
I have been hard at work on a replacement ListView control for NProf, the
windows supplied one just didn't cut it in the arena of extensibility and
customizability.  Now I have a nearly completely managed solution for a
decent start to a good ListView.

It's called ContainerListView and is roughly based off of a solution found
on CodeProject.  A lot of the code has been rewritten and it also supports a
number of new features.  Notable features of this control are:

 - Will use XP Visual Styles if it can
 - Multi-Column Sorting (hold the control key when you click on the header)
 - Column Reordering
 - The ability to "Contain" (thus the name) controls as the visual for a
sub-item (typical example would be a progress bar) (this hasn't been tested,
this functionality exists from its inspirer)
 - Tool-Tips for each header
 - Column and Row tracking
 - Multiple select capabilities

It supports a number of other things, but those are minor.  If you want to
see it in action, download the latest CVS for NProf and give it a run.  Even
with all of this, this control is still in its infancy.  I plan to do even
more things such as:

 - Easy filtering of items
 - Multi-line headers and rows
 - Complex headers ("Justified form mode" in MS Access, or basically
multiple rows of headers which will define the rows as well)
 - Allow items to be nested and behave like a tree-view (the original
project had these controls separated, I've since broken the tree-view and
think it would be better to simply combine entities and waste my time in one
place)
 - Custom sorting (as it stands a column has to be sorted by a predefined
type)
 - Better design time support
 - More intelligent rendering (I'm wasting a few cycles drawing stuff that
doesn't need to be drawn)
 - Drag and drop functionality
 - Copy and paste functionality
 - More customizable styles (ala dataGrid styles without the headaches)
 - Window splits
 - Code comments (this always seems to end up in ALL open source projects
TODO lists)
 - Basically anything that will make this a comparable/better tool to the
current ListView implementation or any commercial products out there

The reason I'm telling all of you (readers of the NProf list) is because I
want your feedback.  If you can think of anything else the list could do
that would be a nice feature for NProf (or other apps for that matter) then
let me know.  Once this control has been through the rigorous testing of
being part of a popular profiler I will be releasing the source under a less
restrictive license (read "not GPL") for your use.

If anybody wants to use the list in their personal applications then simply
take the dlls in the Libraries\DotNetLib folder, add
DotNetLib.Windows.Forms.dll to your toolbox and enjoy.  Do send me an email
if you're going to do that so I can keep track and let you know of any
future enhancements.  Thanks for your time!

Josh Carlson



-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html