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/>");
}
} |