doc: Document (Type) CDTArray: (TestTemplate) - CDT Type ================================================ a!formLayout( label: "Bulk Upload", instructions: "", firstColumnContents: { a!sectionLayout( label: "", firstColumnContents: { a!fileUploadField( label: "File", labelPosition: "ABOVE", value: ri!doc, saveInto: ri!doc, validations: {} ) }, secondColumnContents: {} ), load( local!gridSelection: a!gridSelection( pagingInfo: a!pagingInfo( startIndex: 1, batchSize: 10, sort: a!sortInfo( field: "Name", ascending: true ) ) ), with( local!data:fn!readexcelspreadsheettocdt(todocument(ri!doc),1,ri!CDTArray), local!datasubset:todatasubset(local!data,local!gridSelection.pagingInfo), a!gridField( label: "Excel Data", totalCount: local!datasubset.totalCount, columns: { a!gridTextColumn( label: "Employee Name", field: "Name", data: index(local!datasubset.data, "Name", null) ), a!gridTextColumn( label: "Employee Number", field: "Number", data: index(local!datasubset.data, "Number", null) ) }, identifiers: index(local!datasubset.data, "Name" , {}), value: local!gridSelection, saveInto: { local!gridSelection, a!save(ri!selectedRecords, index(save!value, "selected",ri!selectedRecords)) }, selection: true, requireselection: false ) ) ) }, secondColumnContents: {}, buttons: a!buttonLayout( primaryButtons: { a!buttonWidgetSubmit( label: "Submit", style: "PRIMARY", saveInto: {} ) }, secondaryButtons: { a!buttonWidgetSubmit( label: "Cancel", style: "NORMAL", value: true, saveInto: ri!cancel, skipValidation: true ) } ), validations: {} )