You might want to use your own dataclass to fill your grid with, and implement your custom sorting class (implementing IComparer)
If you make sure that ALL always wins from your other elements , it will always be sorted first..
I never had to implement this kind of stuff, but it might just work :D

Not the solution you were looking for? Getting a personalized solution is easy.