Below is an example to insert records into the interactive grid using the JavaScript in Oracle Apex.
To demonstrate the following example, I have created an interactive grid based on the following table:
Create Table demo_js_insert (
code_seq Number,
code_desc Varchar2(20)
)
/Also, I have these non-database items on my page:
- P2_START_SEQ
- P2_END_SEQ
- P2_SEQ_DESC
JavaScript Code Example
Created a button named "InsRecords", on which I have written the following JavaScript code to insert records into the interactive grid having the static id "ig_js_insert". I will set the field code_seq value to P2_START_SEQ value and will insert the records until the P2_END_SEQ value. Also, will set the value of a field code_desc to the P2_SEQ_DESC value.
//change the ig_js_insert with the static id of your interactive grid
var widget = apex.region('ig_js_insert').widget();
var grid = widget.interactiveGrid('getViews','grid');
var model = grid.model;
var n_code_start, n_code_end, v_desc;
n_code_start = parseInt($v("P2_START_SEQ"), 10);
n_code_end = parseInt($v("P2_END_SEQ"), 10);
v_desc = $v("P2_SEQ_DESC");
for (let i = n_code_start; i <= n_code_end; i++) {
//insert new record on a model
var myNewRecordId = model.insertNewRecord();
//get the new record
var myNewRecord = model.getRecord(myNewRecordId);
//update record values
model.setValue(myNewRecord, 'CODE_SEQ', i.toString());
model.setValue(myNewRecord, 'CODE_DESC', v_desc);
}Output
After inserting the records, when the user will click on the Save button, then it will save it to the database table.
Reference:
- Interface: Model
Related tutorials:
- JavaScript: Increment Date by 1 Day Examples
- Oracle Apex: Loop Through Interactive Grid Records




