Hi Mark,
I don't know why it would do that. I certainly can't imagine why my solution would work but yours wouldn't, at least not for the fields.
But it seems to not like the fields, so you may be able to work around it by converting them into properties instead of fields. Try using these declarations:
Code:
public string ItemName { get; set; }
public decimal PriceEach { get; set; }
public decimal Quantity { get; set; }
public decimal TotalPrice { get; set; }
Let me know if that works.