View Single Post
  #3 (permalink)  
Old 04-22-2008, 10:25 PM
GDevakii GDevakii is offline
D-Web Sr.Programmer
 
Join Date: Aug 2007
Posts: 138
GDevakii is on a distinguished road
Smile Re: How to sort Datatable

public void Page_Load(Object sender, EventArgs e) {

ArrayList codes = new ArrayList();
codes.Add("20040307");
codes.Add("20051103");
codes.Add("20030503");
codes.Add("20041225");
Show(codes);

//ascending order
Response.Write("<hr/>");
ArrayList sortedCodesAcending = SortArrayList(codes);
Show(sortedCodesAcending);

//descending order
Response.Write("<hr/>");
ArrayList sortedCodesDescending = SortArrayListReverseOrder(codes);
Show(sortedCodesDescending);

}

private ArrayList SortArrayList(ArrayList alOld) {

SortedList sl = new SortedList();
ArrayList alNew = new ArrayList();

//copy values from arraylist into sortedlist
foreach(string s in alOld) {
sl.Add(s,"dummy");
}

//copy values from sortedlist back into arraylist
foreach(string s in sl.Keys) {
alNew.Add(s);
}

return alNew;

}

private ArrayList SortArrayListReverseOrder(ArrayList alUnsorted) {

SortedList sl = new SortedList();
ArrayList alAscending = new ArrayList();
ArrayList alDescending = new ArrayList();

//copy values from arraylist into sortedlist
foreach(string s in alUnsorted) {
sl.Add(s,"dummy");
}

//copy values from sortedlist back into arraylist
foreach(string s in sl.Keys) {
alAscending.Add(s);
}

//reverse the order (comment this out if you want ascending order)
for(int x=alAscending.Count-1; x >=0; x--) {
alDescending.Add(alAscending[x]);
}

return alDescending;

}

private void Show(ArrayList al) {
foreach(string s in al) {
HttpContext.Current.Response.Write(s.ToString() + "<br/>");
}
}
Reply With Quote