There is a lot that is wrong, or at least odd about your code.
Convert.ToString(group.Key);
Does absolutely nothing useful. Unless you store the result, or otherwise use it the converted value is discarded.
var row = Convert.ToString(item.CompanyName) + " : "
+ Convert.ToString(item.Phone) + " : "
+ Convert.ToString(item.Address);
is inside a loop, so the value is discarded at the end of the loop body when
row
goes out of scope.
You need to sit down and decide what you are trying to do, and create either a useful collection or a datatable which holds the values you want to display, as separate properties, or columns.
Since I have no idea what your input data looks like, or what the heck is in
grupa
, or what you expect to show the user I can't tell you exactly what to do.
But a little thinking should get you there. Start by thinking about your inputs (unknown to us) and desired outputs (also unknown to us) and work out how you would get from one to the other manually - that should help you to work out what you need to tell the software to do.