469,578 Members | 1,257 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,578 developers. It's quick & easy.

Sorting an array list containing objects?

Dear all,

I have a class which contains an arraylist populated with other objects, for
example:

PrescriptionQueue - containing multiple instances of Prescription

I have the need on my web page to display this data which I have done,
however, now I would like to sort it based on a data item/direction selected
by the user from the web page.

I have separate data and display layers and was planning on doing my "sort"
in my display layer.

In order to do this I figured I would need to pull the Prescription objects
back out from my PrescriptionQueue, perhaps pop them into a DataTable/View
to make the sorting easier.

I then wondered whether it would be better to try and sort the
PrescriptionQueue itself.

Got a little lost after this point :o)

From what I've seen of the ArrayList.Sort you can do this quite easily:

ArrayList.Add("Red")
ArrayList.Add("Blue")
ArrayList.Add("Green")

ArrayList.Sort()

etc, but thats based on the value directly inside those elements of the
arraylist, is it possible to do something more like this:

For Each Prescription In PrsecriptionQueue

ArrayList.Add(Prescription)

Next

ArrayList.Sort(Prescription.PatientSurname)

I appreciate the above example is probably not syntactically correct, so
please excuse me, I am merely trying to give an example of what I would like
to achieve.

If anyone has any thoughts/suggestions as to doing this a better way I would
be most grateful - another idea I had was requesting the sort order when I
"get" my data in the first place.

Any help appreciated,

Regards

Rob
PS: Happy New Year!
Jan 10 '06 #1
2 4493
Look at the static method Array.Sort, you will have to break up your array
into 2 - one for keys and one for the corresponding values.

It's not particularly trivial but you can write your own method to deal with
it.

Kev

"Rob Meade" <ku***************@edaem.bor> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
Dear all,

I have a class which contains an arraylist populated with other objects,
for example:

PrescriptionQueue - containing multiple instances of Prescription

I have the need on my web page to display this data which I have done,
however, now I would like to sort it based on a data item/direction
selected by the user from the web page.

I have separate data and display layers and was planning on doing my
"sort" in my display layer.

In order to do this I figured I would need to pull the Prescription
objects back out from my PrescriptionQueue, perhaps pop them into a
DataTable/View to make the sorting easier.

I then wondered whether it would be better to try and sort the
PrescriptionQueue itself.

Got a little lost after this point :o)

From what I've seen of the ArrayList.Sort you can do this quite easily:

ArrayList.Add("Red")
ArrayList.Add("Blue")
ArrayList.Add("Green")

ArrayList.Sort()

etc, but thats based on the value directly inside those elements of the
arraylist, is it possible to do something more like this:

For Each Prescription In PrsecriptionQueue

ArrayList.Add(Prescription)

Next

ArrayList.Sort(Prescription.PatientSurname)

I appreciate the above example is probably not syntactically correct, so
please excuse me, I am merely trying to give an example of what I would
like to achieve.

If anyone has any thoughts/suggestions as to doing this a better way I
would be most grateful - another idea I had was requesting the sort order
when I "get" my data in the first place.

Any help appreciated,

Regards

Rob
PS: Happy New Year!

Jan 10 '06 #2
..Sort accepts an IComparer that tells it how to compare.

arr.Sort(ctype(new UserComparer(), IComparer))

public class UserComparer
implements IComparer

public function Compare(x as object, y as object) as integer implements
IComparer.Compare
return string.Compare(ctype(x, user).Name, ctype(y, user).Name)
end function

end class
Take a look at:
http://msdn.microsoft.com/library/de...sorttopic2.asp

Karl
--
MY ASP.Net tutorials
http://www.openmymind.net/
"Rob Meade" <ku***************@edaem.bor> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
Dear all,

I have a class which contains an arraylist populated with other objects,
for example:

PrescriptionQueue - containing multiple instances of Prescription

I have the need on my web page to display this data which I have done,
however, now I would like to sort it based on a data item/direction
selected by the user from the web page.

I have separate data and display layers and was planning on doing my
"sort" in my display layer.

In order to do this I figured I would need to pull the Prescription
objects back out from my PrescriptionQueue, perhaps pop them into a
DataTable/View to make the sorting easier.

I then wondered whether it would be better to try and sort the
PrescriptionQueue itself.

Got a little lost after this point :o)

From what I've seen of the ArrayList.Sort you can do this quite easily:

ArrayList.Add("Red")
ArrayList.Add("Blue")
ArrayList.Add("Green")

ArrayList.Sort()

etc, but thats based on the value directly inside those elements of the
arraylist, is it possible to do something more like this:

For Each Prescription In PrsecriptionQueue

ArrayList.Add(Prescription)

Next

ArrayList.Sort(Prescription.PatientSurname)

I appreciate the above example is probably not syntactically correct, so
please excuse me, I am merely trying to give an example of what I would
like to achieve.

If anyone has any thoughts/suggestions as to doing this a better way I
would be most grateful - another idea I had was requesting the sort order
when I "get" my data in the first place.

Any help appreciated,

Regards

Rob
PS: Happy New Year!

Jan 10 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

7 posts views Thread by Federico G. Babelis | last post: by
7 posts views Thread by 00_ChInkPoIntD12 | last post: by
25 posts views Thread by Dan Stromberg | last post: by
3 posts views Thread by Greg D | last post: by
5 posts views Thread by lemlimlee | last post: by
5 posts views Thread by jrod11 | last post: by
reply views Thread by suresh191 | last post: by
4 posts views Thread by guiromero | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.