I'm not sure how to have a two dimensional ArrayList, but you can
write a comparer (class implementing IComparer) to have the ArrayList
sort however you like with your custom objects.
Rather than use ICompaerer I am transferring value[row,col]
to valueArray, rowArray and colArray and writing a
sort(valueArray,rowArray,colArray)
(sorting on valueArray, swapping the other two accordingly)
and will then bind the results to the listView.