see this plz. :
http://geekswithblogs.net/dotNETvinz/dotNETvinz/archive/2009/08/02/save-dynamic-textbox-values-from-gridview-to-database.aspx
is it possible to have a dropdownlist instead of the first textbox, and when you select it you will have a value in the next textbox and third one will compute the price*quantity
suppose this :
drowpdownlist (items) textbox(item price) textbox(item quantity) textbox(subtotal=price*quantity)
...
Go to the complete details ...