{
I need to loop through a list, find the amounts for the same month and year. How can I find all the values for a month and year, add them and set them to an new variable?
Below is the codle of the list I am using to Loop and its results, thank you for your help!
Response.Write("<table border=1 class=tdRowCenter width=300>");foreach(GenericList AmonuntsLoopin MyList)Response.Write(<SPAN class=st>"<tr><td>Month</td><td>"</SPAN> + AmonuntsLoop.Month + <SPAN class=st>"</td><td>Year</td><td>"</SPAN> + AmonuntsLoop.Year + <SPAN class=st>"</td><td>Amount</td><td>"</SPAN> + AmonuntsLoop.MonthlyAmount + <SPAN class=st>"</td></tr>"</SPAN>);
}Response.Write(<SPAN class=st>"</table>"</SPAN>);
output for testing only
Month 1 Year 2006 Amount 17722.94 Month 2 Year 2006 Amount 18093.19 Month 3 Year 2006 Amount 18157.50 Month 4 Year 2006 Amount 16371.90 Month 5 Year 2006 Amount 17338.10 Month 6 Year 2006 Amount 17345.06 Month 7 Year 2006 Amount 18921.64 Month 8 Year 2006 Amount 18836.68 Month 9 Year 2006 Amount 20741.74 Month 10 Year 2006 Amount 17362.87 Month 11 Year 2006 Amount 15228.85 Month 1 Year 2005 Amount 17138.79 Month 2 Year 2005 Amount 16802.48 Month 3 Year 2005 Amount 18000.43 Month 4 Year 2005 Amount 16040.48 Month 5 Year 2005 Amount 9755.48 Month 6 Year 2005 Amount 19097.73 Month 7 Year 2005 Amount 18267.06 Month 8 Year 2005 Amount 18832.51 Month 9 Year 2005 Amount 20163.64 Month 10 Year 2005 Amount 16937.13 Month 11 Year 2005 Amount 16114.66 Month 12 Year 2005 Amount 18602.90 Month 1 Year 2006 Amount 22209.40 Month 2 Year 2006 Amount 20738.59 Month 3 Year 2006 Amount 18499.77 Month 4 Year 2006 Amount 21951.75 Month 5 Year 2006 Amount 19402.30 Month 6 Year 2006 Amount 21563.31 Month 7 Year 2006 Amount 22855.29 Month 8 Year 2006 Amount 26106.09 Month 9 Year 2006 Amount 22854.72 Month 10 Year 2006 Amount 25766.62 Month 11 Year 2006 Amount 19548.18 Month 1 Year 2005 Amount 20765.76 Month 2 Year 2005 Amount 20233.43 Month 3 Year 2005 Amount 19161.78 Month 4 Year 2005 Amount 20528.22 Month 5 Year 2005 Amount 18855.83 Month 6 Year 2005 Amount 20129.81 Month 7 Year 2005 Amount 21382.53 Month 8 Year 2005 Amount 25826.96 Month 9 Year 2005 Amount 22054.56 Month 10 Year 2005 Amount 25469.49 Month 11 Year 2005 Amount 22037.02 Month 12 Year 2005 Amount 21151.57
For example I need to add 1/2005 entries and end up with39,932.34
This is pretty crude, but you could do something like this...
1string curMonth ="";2string curYear ="";34double totalMonth = 0;5double totalYear = 0;67foreach(GenericList AmountsLoopin MyList)8{9// suggestion on writing your html line10 Response.Write(String.Format("<tr><td>{0}</td></tr>", AmountsLoop.Month)11 totalMonth += AmountsLoop.MonthlyAmount;12 totalYear += AmountsLoop.MonthlyAmount;1314if (AmonuntsLoop.Month != curMonth)15 {16 Response.Write(String.Format("{0}'s total is {1:c}", curMonth, totalMonth));17 curMonth = AmonuntsLoop.Month;18 totalMonth = 0;19 }2021if (AmonuntsLoop.Year != curYear)22 {23 Response.Write(String.Format("{0}'s total is {1:c}", curYear, totalYear));24 curYear = AmonuntsLoop.Year;25 totalYear = 0;26 }27}28
Thanks, but is there another non crude way using Generics? I have the data in a Generic List
0 comments:
Post a Comment