APEX - Può una forma tabulare con la sua funzionalità MRU hanno filtraggio funzionalità come un rapporto interattivo?

StackOverflow https://stackoverflow.com/questions/8316420

Domanda

Quello che ho veramente bisogno è una forma tabulare che mi permette di aggiornare più righe alla volta, mentre essendo filtrabile come un rapporto interattivo. C'è qualche possibilità questo è ancora lontanamente possibile?

vorrei anche per dirottare le caselle riga in forma tabellare che appare quando la funzionalità 'eliminazione' viene attivato e li usa per selezionare le righe vengono assegnati a per un gruppo basato su un attributo comune. (Vale a dire Il mio tavolo contiene parti nel mio inventario e ho bisogno di essere in grado di assegnare le parti con attributi comuni ad un gruppo per l'elaborazione)

Forse un gruppo-by funzione che crea una nuova riga in una tabella 'gruppo' con il gruppo come il PK e le parti assegnato a quel gruppo come una lista o qualcosa del genere ...?

Pensieri? Sono specie di in perdita ...

È stato utile?

Soluzione

Non è poi così difficile :) Si può facilmente trasformare un IR in una forma pseudo-tabellare. E anche se ci sono sempre soluzioni più eleganti e alla moda, quelli di solito comportano un sacco di javascript e / o plugin. Sono bello, ma non sempre ciò che si desidera o necessità, naturalmente.

Così come manipolare l'output? Utilizzare il APEX_ITEM api !

esempio rapido. Ho un ir costruito su emp. Ho aggiunto una casella di controllo e casella di testo. esempio ir

select empno, ename, deptno, 
       apex_item.checkbox(1, empno) empno_selected, 
       apex_item.text(2, ename, 10, 10) ename_edit
from emp

Non dimenticare: nella colonna di attributi, insieme a Display text as Standard Report Column. Se non lo fai, l'uscita sarà in formato testo. Dal momento che apex_item genera il codice HTML, non si desidera che il testo in chiaro ovviamente :) attributi ir colonna

Ora, per essere in grado di eseguire DML sulla base delle azioni che si fanno in questi campi generati, avrete bisogno di un processo. Fatemi iniziare sottolineando però che gli oggetti generati sono memorizzati nelle variabili di applicazione, cioè in matrici in APEX_APPLICATION . Prendere nota del comportamento di caselle di controllo: scatole solo spuntate avranno il loro valore memorizzato nella matrice

Per fare un esempio, ho fatto questo piccolo On Submit process (aggiungendo anche un pulsante SUBMIT sulla forma realmente eseguire il submit ...)

for i in 1..apex_application.g_f01.count
loop
insert into empselected(empno, selectiondate, ename_changed)
values(apex_application.g_f01(i), sysdate, apex_application.g_f02(i));
end loop;

Questo ciclo volontà nel corso dei record con le caselle di controllo selezionato, e inserirli in qualche tavolo. Per esempio, ho spuntato la casella con il re e modificato il campo di testo. Vedere record di nr 2 (1 da un'azione precedente;)) Modifica esempio ir Uscita di Modifica

Non è per tutto il tragitto ancora però. È ancora perdere la funzionalità di una forma tabellare e di processi, e cose del genere blocco ottimistico. Se si vuole rimanere con le forme tabulari, è anche possibile, per esempio, controlla questo link . Ci sono state anche alcune domande qui sulla scrittura di processi MRU ecc, come questo;)

Altri suggerimenti

E 'possisble, utilizzando la stessa forma di tabella.

  1. Crea un oggetto (elemento di testo) nella regione sotto forma di tabella.
  2. Crea un pulsante di invio (Crea un pulsante visualizzato tra le voci di questa regione)
  3. Modifica clausola where nell'origine regione forma tabellare

Per esempio, è necessario ricerca in base al nome del cliente:

WHERE lower(CUSTOMER_NAME) LIKE '%'||lower(nvl(:PXX_SEARCH,CUSOTOMER_NAME))||'%'

Se avete bisogno di cercare altro campo che aggiungere altra condizione alla clausola WHERE

WHERE (
     lower(CUSTOMER_NAME) LIKE '%'||lower(nvl(:PXX_SEARCH,CUSOTOMER_NAME))||'%'
     or lower(CUSTOMER_address) LIKE '%'||lower(nvl(:PXX_SEARCH,CUSOTOMER_NAME))||'%'
)

Semplice e utilizzare la stessa forma tabellare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top