Is your table a set size? Can you use JavaScript on your form? Is your form dynamic?
Ok, I'm going to guess at these things and hope this answers your questions. (I'm guessing "no", "yeah, duh!", and "yes".)
Make sure your form is dynamic and whatever subform houses the table is able to pagebreak and is flowed.
Create your table with one header row and one other row.
in that other row, add your drop down list in the first column and textfields in the others.
In the 'exit' event add the following code:
var rowNum = this.parent.instanceManager.count - 1;
if (!this.isNull && this.parent.instanceIndex == rowNum) this.parent.instanceManager.addInstance();
switch(this.rawValue){
case("PN01"):
this.parent.tfDescription.rawValue = "Description of PN01";
this.parent.tfUnitPrice = "15.00";
break;
case("PN02"):
this.parent.tfDescription.rawValue = "Description of PN02";
this.parent.tfUnitPrice = "5.00";
break;
case("PN03"):
this.parent.tfDescription.rawValue = "Description of PN03";
this.parent.tfUnitPrice = "25.00";
break;
//etc. for each PN
}
Of course, I don't know your prices, so I'm just guessing those and the variable names. Since you aren't adding product serial numbers, they should be strings. Make sure you put "quotes" around them in the case( ): lines
This code will automatically be added to each line in the table, and the table will add rows for you automatically. It will not add rows if the client is changing his/her selection. It will also not remove a line if the user decides to remove that choice. You can add a button for that if you'd like.