Best solution is DHTML based (Layers or divs), there are microsoft built in functions that can dynamically add rows/columns to a table. It has been discussed on this forum before. Do a search if you are interested in that.
My two choices:
Layers:
Show or hide components that are necessary.
example:
http://www10.brinkster.com/a1ien51/Scripts/ShowLayersCode.htm Divs:
Dynamically write the conent needed to the page.
example with divs:
http://www10.brinkster.com/a1ien51/Scripts/Cart.htm The examples show the basic concept, not actually what you are looking for.
Eric