Keith,
You should be able to have the CarPref class implement IComparable, then
just call List.Sort(). IIRC, implementing IComparable consists of writing
only 1 method (Compare() or CompareTo(), something like that).
-- Nick
-----Original Message-----
From: padnug@xxxxxxxxxxxxxxx [mailto:padnug@xxxxxxxxxxxxxxx] On Behalf Of
Keith R. Pinster
Sent: Tuesday, August 23, 2005 12:55 PM
To: padnug@xxxxxxxxxxxxxxx
Subject: [padnug] SOLUTION: Moving object order in a collection in C#
Here's how I decided to do it:
Instead of using an Order field, I use the following code in the
MoveUp and MoveDown methods:
public void MoveDown(CarPref carPref)
{
CarPref carCopy = new CarPref(carPref.Model, carPref.Make);
List.Insert(List.IndexOf(carPref)+2, carCopy );
List.Remove(carPref);
}
public void MoveUp(CarPref carPref)
{
CarPref carCopy = new CarPref(carPref.Model, carPref.Make);
List.Insert(List.IndexOf(carPref)-1, carCopy );
List.Remove(carPref);
}
I haven't tested it yet, but it looks like it'll work. I'll report
back once I have it running, just in case anyone else is interested.
--- In padnug@xxxxxxxxxxxxxxx, "Keith R. Pinster" <dimondwoof@xxxx>
wrote:
> I've got an object that has a set of sub-objects. I want to be
able to
> retrieve the sub-objects in a certain order. Is there a way to
change
> the index of the sub-objects?
>
> E.G:
> Favorites:
> Cars:
> 1. Corvette
> 2. Nova
> 3. Firebird
>
> User wants to change the order so that it reads:
> 1. Corvette
> 2. Firebird
> 3. Nova
>
> Currently I'm tracking the order with an Order int field, but this
> seems really messy and error prone. Any ideas?
Yahoo! Groups Links
------------------------ Yahoo! Groups Sponsor --------------------~-->
<font face=arial size=-1><a
href="http://us.ard.yahoo.com/SIG=12h0pacph/M=362335.6886445.7839731.1510227/D=groups/S=1705007709:TM/Y=YAHOO/EXP=1124836882/A=2894361/R=0/SIG=13jmebhbo/*http://www.networkforgood.org/topics/education/digitaldivide/?source=YAHOO&cmpgn=GRP&RTP=http://groups.yahoo.com/">In
low income neighborhoods, 84% do not own computers. At Network for Good, help
bridge the Digital Divide!</a>.</font>
--------------------------------------------------------------------~->
|