custom sorting of ListBox controls

M

Marri Suliez

Has anyone found some documentation on how to properly subclass a ListBox
control and provide custom sorting (when the list items come from a
DataSource)?

The only way I can figure out how to do this is by sorting an array of some
sort and then setting the DataSource. I don't like this because it fires
the DataSourceChanged event.

What I really want to do is get access to the underlying list items, sort
them, and then have the control refresh itself. I already have access to
the underlying list items since I have set the DataSource myself. But
changing the order of the items in the DataSource does not appear to result
in the items in the control being resorted.

Any suggestions?
 
C

Cor

Hi,

Have a look at the dataview
Basicly it is not more thatn

I do not know if you use VB or C# so some things in VB
\\\
dim dv as new dataview(mydataset.tables(0))
dv.Sort = "myItem ASC"
listbox.datasource=dv
and the rest as you did it.
///

I hope this helps?

Cor
 
N

Nicholas Paldino [.NET/C# MVP]

Marri,

There are two kinds of sorts going on here. The first is the Sort that
the ListBox class calls. Basically, in order to use that, you will have to
clear the collection and re-add the items in the order that you want them to
be sorted in.

The other kind is the sort order that the collection has when bounded to
a data set. You can change the order in the underlying list items, but that
doesn't matter. The reason is because when bound to a data table, you are
binding to the default view on the table. Change the sort order on the
view, and you should notice that the items in the list are listed separately
(you might have to rebind).

Hope this helps.
 
J

John Timney \(Microsoft MVP\)

read this - might help you

http://www.dotnetbips.com/displayarticle.aspx?id=232

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
----------------------------------------------------------------------------
------------------------------------
<blatant plug>
Professional .NET for Java Developers with C#- ISBN: 1-861007-91-4
Professional Windows Forms - ISBN: 1861005547
Professional JSP 2nd Edition - ISBN: 1861004958
Professional JSP - ISBN:
1861003625
Beginning JSP Web Development - ISBN: 1861002092
</blatant plug>
 
C

Cor

Hi John,

Sorry, this I do not understand.

It is about a listbox the OP is talking about.

He told he knows about a datasource.

Why he needs to make an extra class for this while the dataview is full
suported in the framework.?

And the dataview is very easy to use.

But maybe there is a reason and than I gladly like to know that.

Cor
 
J

Justin Rogers

You can override the Sort method in a derived class to provide custom sorting.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top