Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 198
  • Last Modified:

How to sort the ListView?

I'm using a list view control for a FTP client program. I add all the files to the ListView in Report Style and add pictureA if its a file or PictureB if its a folder. How can I sort the list but first the folders and then the Files just like in Windows Explorer?

thanks
0
matrix717
Asked:
matrix717
  • 3
  • 2
  • 2
  • +2
1 Solution
 
Richie_SimonettiCommented:
I think populate the list, first with folders and then with files. You don't need to run enumfiles twice, you could use two arrays and populate each one, one with files and other with folders mane in the same "lap".
Hope it helps.
I did try several ideas to order listviews and none was enought.
0
 
matrix717Author Commented:
how can I order an array alphabeticaly?
0
 
aikimarkCommented:
You might be able to accomplish what you want by creating an "invisible" column in the listview, containing a combination of type-descriptor and name characters, and invoking the sort method on this column.

Example:
d_dirname3
d_dirname1
f_filename4
d_dirname2
f_filename1
f_filename3
f_filename2

In this example, the name of the object (dir/file) is prepending with an associated object type descriptor ("d_" and "f_").  Since "d" is less than "f" in the collating sequence, the result of the sort method will result in your desired ordering.
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
raizonCommented:
aikimark,

wouldn't that give you a listing order of

d_dirname1
d_dirname2
d_dirname3
f_filename1
f_filename2
f_filename3
f_filename4

I think you are on the right track however.
I would add a number to the front of your descriptor which will be the order in which they are to be listed.

1d_dirname1
2d_dirname2
3f_filename1
4d_dirname3
5f_filename1
6f_filename2
7f_filename3
8d_dirname4


Just a thought
0
 
amebaCommented:
Add space (" ") to folder names.
0
 
aikimarkCommented:
string data is sorted in left-to-right sequence.

1. all the "d_" items will appear before any "f_" item.
2. the strings (names) within each "group" will appear in their correct alphabetic sequence.

"try it...you'll like it" :-)
(quote from an old Alka Seltzer commercial)
0
 
aikimarkCommented:
Example of what you should see:

d_alongdirectoryname
d_bnatural
d_csharp
f_notadirectory
f_plentyoftheseonyourharddrive
f_seethepatternyet
f_thisisthelastthingtosortinyourlistview
0
 
raizonCommented:
I think I missunderstood what he was wanting.

I thought he was wanting a TreeView but without using the TreeView control.
0
 
matrix717Author Commented:
I repeat, what I want is to sort the files and folders just as Windows Explorer does...

Folder AAA
Folder AAB
Folder CCA
File   AA
File   AB

I want to press the header and that the files an folders of that column get sort on that way...


0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

  • 3
  • 2
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now