Reputation: 25928
How can I add a new row to a forms sublist? I am working with a SuiteScript 2.0 Suitelet. Any advice would be extremely helpful.
function initForm(context) {
var form = ui.createForm({
title: 'Generate Lab Request File'
});
var sublist = form.addSublist({
id: 'sublist',
type: ui.SublistType.LIST, //.INLINEEDITOR,
label: 'Panels'
});
sublist.addField({
id: 'export_version',
type: ui.FieldType.FLOAT,
label: 'Export Version'});
// Fails because row 1 doesn't exist. How can I add a new row?
sublist.setSublistValue({
id : 'export_version',
line : 1, // I'm trying to add a new row. I already have row 0
value : "6.0"
});
// Error function doesn't exist
sublist.addRows({
rows: [{export_version : '6.0'},
{export_version : '6.0'}]
});
context.response.writePage(form);
}
Upvotes: 1
Views: 3369
Reputation: 2250
There is a good example in the SuiteScript 2.0 API docs. You just need to select a new line. I noted it in the sample script below. Hope that helps.
**
*@NApiVersion 2.x
*/
require(['N/record'], function(record) {
function createPurchaseOrder() {
var rec = record.create({
type: 'purchaseorder',
isDynamic: true
});
rec.setValue({
fieldId: 'entity',
value: 52
});
rec.setValue({
fieldId: 'location',
value: 2
});
/******/
//Here is where you are adding a new line.
/******/
rec.selectNewLine({
sublistId: 'item'
});
rec.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'item',
value: 190
});
rec.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'quantity',
value: 2
});
subrecordInvDetail = rec.getCurrentSublistSubrecord({
sublistId: 'item',
fieldId: 'inventorydetail'
});
subrecordInvDetail.selectNewLine({
sublistId: 'inventoryassignment'
});
subrecordInvDetail.setCurrentSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'receiptinventorynumber',
value: 'myinventoryNumber'
});
subrecordInvDetail.commitLine({
sublistId: 'inventoryassignment'
});
subrecordInvDetail.selectLine({
sublistId: 'inventoryassignment',
line: 0
});
var myInventoryNumber = subrecordInvDetail.getCurrentSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'receiptinventorynumber'
});
}
createPurchaseOrder();
});
Upvotes: 2