472,805 Members | 914 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,805 software developers and data experts.

TreeView + ListView = ???

Hi all,

I have a need to display a message list in the same way as Outlook
Express/Thunderbird displays new posts (and probably most other newsreaders,
like the one you're using now!). I know there are commercial options but a)
I don't want to pay and b) they're all massively bloated. I want exactly a
TreeList + ListView, and I want it to be kilobytes, not megabytes! :)

I originally wrote one from scratch in .net 1.1, which had a few bugs with
scrolling, but worked for the most part. I've mis-placed it - which is
probably a good thing, since the code was probably carp!

So, it's time to do it again! I was after some opinions, as I have a few
options:

1. Write it all from scratch
2. Write a control that includes both a TreeView and a ListView, and somehow
mash them together
3. Extend ListView and add expand/collapse etc.
4. Extend TreeView and add columns

I thought 3 or 4 would be the best method...

Originally, I thought I'd use 4, since I get the "tree" side from scratch.
With a ListView, I'd have a hard time keeping track of where to start
rendering when the scrollbar is at y (since the messages that have been
scrolled off may be expanded or collapsed!). However, I can't figure out how
to add column headers (I can custom draw nodes, but that's it - no way to
insert headers, without including the tree in another control, and then the
user can't directly set the treelist normal properties). The resizing etc.
of columns would also not be trivial.

However, if I start with a ListView, I've got the whole problem of the data
being flat, and my messages are in a tree format, so I've got to dyamically
hide/show rows based on the parent being expanded/collapsed.

Any opinions on which of these would cause the least number of headaches?

Ta,
Nov 28 '05 #1
0 1789

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: alan | last post by:
Hello, Can ListView have some event just like the event BeforeSelect of TreeView? When a user try to select another item in the ListView, I would like to do some checking first. If the result...
0
by: Andre Viens | last post by:
Hello, I have a TreeView I'm using to navigate through various options shown in a ListView. I want to use the SelectedNode.Tag property to hold the items in my ListView. Everything is working...
7
by: Progalex | last post by:
Hi everybody! I have a listview and a treeview in a form . With an OpenDialog I let the user select multiple files and then these files are added to the listview with the complete pathname,...
0
by: Treeview Trouble | last post by:
I have an application where there are two radio buttons each of which populates a treeview control with a directory structure. Each radio button corresponds to a different directory which may or...
6
by: Beginner | last post by:
Hi, I'm trying to populate a TreeView from an existing and filled in ListView (lvwBuild). lvwBuild is a basic two column listview which can have any number of rows. I would like the first...
0
debasisdas
by: debasisdas | last post by:
This sample code displays employee name in the treeview control from the emp table of Scott schema in oracle database. To start with Select Microsoft windows common controls 6.0 (SP6) from...
0
by: divya1949 | last post by:
Create a windows c# application which will Read a xml file and populate nodes in the treeview. 1 On selection of treenode display the child nodes of that node in listview control 2. ...
0
by: MrColeyted | last post by:
I am designing an app that is similar to Windows Explorer. I have all working well. By clicking a directory in the treeview, the folders and files for that directory are displayed in the listview....
1
by: =?iso-8859-1?B?S2VyZW0gR/xtcvxrY/w=?= | last post by:
Hi, i am looking for a way to clear and fill a listview and right after a treeview nearly flicker and delay free. The TreeView and Listview contain Images and about 1000 Items. What can someone...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 2 August 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: erikbower65 | last post by:
Here's a concise step-by-step guide for manually installing IntelliJ IDEA: 1. Download: Visit the official JetBrains website and download the IntelliJ IDEA Community or Ultimate edition based on...
0
by: kcodez | last post by:
As a H5 game development enthusiast, I recently wrote a very interesting little game - Toy Claw ((http://claw.kjeek.com/))。Here I will summarize and share the development experience here, and hope it...
0
by: Taofi | last post by:
I try to insert a new record but the error message says the number of query names and destination fields are not the same This are my field names ID, Budgeted, Actual, Status and Differences ...
14
DJRhino1175
by: DJRhino1175 | last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this - If...
0
by: Rina0 | last post by:
I am looking for a Python code to find the longest common subsequence of two strings. I found this blog post that describes the length of longest common subsequence problem and provides a solution in...
5
by: DJRhino | last post by:
Private Sub CboDrawingID_BeforeUpdate(Cancel As Integer) If = 310029923 Or 310030138 Or 310030152 Or 310030346 Or 310030348 Or _ 310030356 Or 310030359 Or 310030362 Or...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
0
by: Mushico | last post by:
How to calculate date of retirement from date of birth

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.