2015-06-24 13 views
9

Ho bisogno di sviluppare una funzionalità in cui l'utente possa definire dinamicamente un modello (etichette, caselle di testo, etichette, righe, colonne, relazioni figlio genitore tra gli elementi precedenti ecc.). Questi elementi (come le caselle combinate) possono essere associati a tabelle di database diverse.Come creare modelli di trascinamento e rilascio dinamici?

Ad esempio, l'utente può definire un modello T1 per un caso d'uso specifico U1. Ma questo modello non è limitato solo a U1. Potrebbe essere necessario per essere utilizzato in un altro caso d'uso U2, dove è una parte secondaria di un modello più grande.

Una volta definiti i modelli, un altro utente può caricare i modelli (modulo HTML) e immettere i dati in esso. In una fase successiva, ho bisogno di riutilizzare questi dati e modelli per generare report PDF. Dato che a volte i report PDF possono avere un layout diverso rispetto al modulo HTML, avrei bisogno anche delle relazioni parent parent tra gli elementi.

A partire da ora, stiamo ottenendo generando un XML da un'interfaccia utente in cui un utente può selezionare elementi da un menu a discesa e specificare le proprietà. In fase di esecuzione, questi XML vengono trasformati in HTML utilizzando XSLT. Un altro XSLT è usato per generare PDF. La limitazione di questo schema è che è molto noioso incorporare qualsiasi richiesta dell'utente (come colonne multiple, aggiungere tabelle in form ecc.).

Mi stavo chiedendo come fanno gli altri a raggiungere questo obiettivo e c'è un'API/libreria per fare lo stesso? Ho esaminato le funzionalità di trascinamento della selezione HTML5 e JQuery, ma mi richiederebbe di aggiungere tutto da zero (come aggiungere dinamicamente colonne, righe ecc.)

risposta

4

La cosa migliore per creare una forma dinamica è l'utilizzo di j angolari. E 'molto buono quadro per lo sviluppo front-end

ecco il link di lavoro per angular js form

Siamo spiacenti, ho dato solo esempio formare forme dinamiche qui sono alcuni esempi per il drag and drop Angular drag and drop 1

Angular drag and drop 2

http://angular-js.in/dragular/

Spero che questa volontà Aiuto.

+0

Grazie. Ho dato un'occhiata al primo esempio. Trovato adatto. Ma è possibile estendere lo stesso per TextBox, combo ecc oltre agli elementi (che sarebbero etichette nel mio caso) – krammer

+0

Sì, sicuramente puoi farlo, Tutti i campi di input possono essere fatti attraverso questo. trascinare e rilasciare dinamicamente la forma può essere fatta facilmente con angolare. – Sen

3

Ci sono librerie disponibili per gestire database, come JDAL, JOOQ e molti altri.

Per la creazione di moduli e report, tuttavia, Oracle dispone della suite Oracle Forms and Reports. Ci sono anche alternative, come OpenXava, che possono anche fare queste cose (e probabilmente meglio, ho lavorato con 10g/11 e talvolta può essere un dolore). Se sei più interessato all'utilizzo di XML e di altri linguaggi di marcatura, ti potrebbe piacere lo FOXopen.

Tutti questi possono essere stampati su PDF e altri tipi di documenti.

Dove lavoro, utilizziamo Oracle Form e programmi scritti internamente per creare i nostri rapporti.