Skip to Main Content

 

Auswahl  

Oracle APEX Interactive Grid Javascript Snippets 

Oracle
APEX
APEX 22.2:APEX 23.1
20.09.23 (MP)
20.09.23(MP)
APEX Javascript, Grid , Interactive Grid

Passende Schulungen zum Thema

In unseren Schulungen werden immer mal Fragen zum Interactiven Grid gestellt, die sehr interessant sind. Hier eine kleine Auswahl:

Vorraussetungen:

  1. Es gibt ein Grid auf die Scott.emp Tabelle mit der Static ID EMP
  2. Es gibt eine Selectbox mit Namen P1_JOB

 

  1. Es soll im Grid für die EMP Tabelle, der Job für alle Mitarbeiter auf einen einheitlichen Wert gesetzt werden, der in einem Item ausserhalb des Grids steht:
var model = apex.region("EMP").widget().interactiveGrid("getViews", "grid").model;
    model.forEach(function(r) {
       model.setValue(r, "JOB", $v("P1_JOB" )); // Setzen des Jobs pro Zeile
    })

2. Es sollen nur die mit der im Grid enthaltenen Checkbox (Spalte 1) ausgewählten Einträge geändert werden:

var grid = apex.region("EMP").widget().interactiveGrid("getViews","grid");
var model   = grid.model;
var selectedRecords = grid.getSelectedRecords();
//console.log("Records" +selectedRecords.length);
for (idx = 0; idx < selectedRecords.length; idx++) {
   record = model.getRecord(selectedRecords[idx][0]); 
     model.setValue(record, "JOB", $v( "P1_JOB" ));
    //console.log(idx+ " " + selectedRecords[idx][1] ); //Felder [1] EMPNO [2] ENAME, [3] JOB ...
}

3. Sie möchten das zurückschreiben in die DB selbst erledigen, kein Problem. Ersetzen Sie den Prozeß durch:

IF :APEX$ROW_STATUS='C' THEN
    INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno)
    VALUES (:EMPNO,:ENAME,:JOB,:MGR,:HIREDATE,:SAL,:COMM,:DEPTNO);
ELSIF :APEX$ROW_STATUS='U' THEN
    UPDATE emp SET
    ename=:ENAME,job=:JOB, mgr=:MGR,hiredate=:HIREDATE ,sal=:SAL,comm=:COMM, deptno=:DEPTNO
    WHERE empno=:EMPNO ;
ELSIF :APEX$ROW_STATUS='D' THEN
    DELETE FROM emp
    WHERE empno=:EMPNO;
END IF;

Das war ein kleiner Auszug aus den vielen Fragen in unseren APEX Kursen. Sie haben auch Fragen? Dann kommen Sie doch in einen unserer Kurse…. wir freuen uns auf Sie !