You are using a loop to go through all rows of your
GridView
and appending the content to your
ProductName
and
Quantity
strings, so it is little wonder that the results are as you describe. You should use some form of
List(T)[
^] class to separate the individual items.