consente di visualizzare un diagramma di Gantt modificabile dall’utente.
Questo oggetto è utilizzabile solo sulla piattaforma web.
Proprietà Specifiche
Oltre alle proprietà comuni sono disponibili le seguenti proprietà:
- IntervalloGantt: consente di specificare il tipo di intervallo temporale da riportare nel diagramma di Gantt. Può assumere i seguenti valori: Week, Year, Month, QuarterYear, HalfYear.
Eventi specifici
Sono disponibili i seguenti eventi:
- EventoAttivitaModificata: viene attivato quando l’utente modifica un’attività spostandone col mouse la barra nel diagramma di Gantt, oppure riordinando le attività trascinandole col mouse nell’elenco. Nella variabile “Tasks” è contenuto un array delle attività modificate (che potrebbero essere più di una).
- EventoAttivitaSelezionata: viene attivato quando l’utente clicca su un’attività nell’elenco, selezionandone la relativa riga. Nella variabile “Task” è contenuta l’attività selezionata.
NOTA IMPORTANTE: per motivi di performance legati alla struttura dell’oggetto, eventuali aggiornamenti di altri oggetti del form effettuati all’interno dei gestori di questi eventi (ad esempio l’assegnazione di un testo ad un’etichetta, oppure l’assegnazione di un valore ad un campo), non comporteranno l’aggiornamento grafico del form . Per aggiornare anche visivamente questi oggetti, è necessario inserirli in un oggetto contenitore con la proprietà ContenitoreAggiornamento assegnata a true, e, nel gestore dell’evento, richiamare il metodo UpdateContainer dell’oggetto form specificando come parametro il contenitore stesso.
Per maggiori informazioni sugli eventi leggi qui.
Proprietà utilizzabili da codice lato Server (VB.NET/C#)
- Enabled: se assegnato a False gli elementi contenuti nel calendario non sono modificabili dall’utente.
- Visible: se True l’oggetto è visibile nel form, in caso contrario lo si assegna con False.
Metodi utilizzabili da codice lato Server (VB.NET/C#)
- AddResource(<Name>): consente di aggiungere una risorsa. L’utilizzo di questo metodo non è indispensabile in quanto le risorse vengono aggiunte automaticamente quando vengono specificate nei metodi “AddTask” e “ModifyTask”.
- ClearResources(): cancella tutte le risorse inserite.
- AddTask(<ID>,<Order>,<TaskName>,<StartDate>,<EndDate>,<Duration>,<Resources>,<Notes>,<ReadOnly>,<Color>,<BaselineStartDate>,<BaselineEndDate>): consente di inserire un’attività da visualizzare nel diagramma, specificandone tutte le proprietà. <ID> è un numero intero maggiore di zero che identifica in modo univoco ciascuna attività. <Order> è un numero intero maggiore di zero che specifica la posizione nell’elenco. <TaskName>è il nome dell’attività. <StartDate> and <EndDate> sono valori di tipo Date che specificano l’inizio e la fine dell’attività. <Duration>è un valore numerico che specifica la durata dell’attività in ore. <Resources> (opzionale) è l’elenco dei nomi delle risorse coinvolte nell’attività, separate da “,”. <Notes> (opzionale) consente di specificare una descrizione aggiuntiva per l’attività. <ReadOnly> (opzionale) se true impedisce modifiche all’attività tramite trascinamento della barra nel Gantt. <Color> (opzionale) consente di specificare il colore della barra del Gantt, del formato utilizzato negli stili CSS. Infine, <BaselineStartDate> e <BaselineEndDate>, entrambi opzionali, consentono di disegnare una sottile barra arancione che rappresenta un riferimento di confronto (ad es. una previsione sull’attività).
- ClearTasks(): cancella tutte le attività definite.
- ModifyTask(<ID>,<Order>,<TaskName>,<StartDate>,<EndDate>,<Duration>,<Resources>,<Notes>,<ReadOnly>,<Color>,<BaselineStartDate>,<BaselineEndDate>): consente di modificare un’attività esistente, identificata attraverso l’ID univoco, riassegnandone le proprietà.
- DeleteTask(<ID>): consente di eliminare un’attività esistente, identificata attraverso l’ID univoco.
- GetAllTasks(): Restituisce un array contenente tutte le attività presenti nel diagramma di Gantt.
- GetTasksCount(): Restituisce il numero di attività nel diagramma.
- GetSelectedTask(): Restituisce l’attività selezionata (l’ultima sul quale l’utente ha cliccato)
- SetHolidays(<fromDate>,<toDate>): Aggiunge al diagramma le festività contenute nel Calendario Giorni Non Lavorativi comprese fra le date specificate nei parametri <fromDate> e <toDate>.
I metodi GetAllITasks() e GetSelectedTask() ritornano rispettivamente un array di oggetti e un oggetto di tipo “Task” che ha le seguenti proprietà:
- ID: numero intero che rappresenta l’identificatore univoco dell’attività
- serialNumber: numero intero che rappresenta il numero progressivo dell’attività nell’elenco
- TaskName: nome dell’attività
- StartDate: Data inizio
- EndDate: Data di fine
- BaselineStartDate: Data inizio del riferimento
- BaselineEndDate: Data di fine del riferimento
- Duration: durata in ore
- Notes: descrizione aggiuntiva
- ReadOnly: true = attività non modificabile
- Color: colore dell’attività nella barra del Gantt
Di seguito riportiamo alcuni esempi di utilizzo dei metodi sopra esposti.
Il seguente frammento di codice può essere utilizzato nell’EventoCarica del form per aggiungere gli elementi al diagramma di Gantt, comprese festività.
form.findcontrol("Gantt1").AddTask(1,1,"Attività 1",Today(),Today(),4,"Risorsa 1","<B>Descrizione 1</B>") form.findcontrol("Gantt1").AddTask(2,2,"Attività 2",Today(),Today(),4,"Risorsa 1, Risorsa 2","<B>Descrizione 2</B>") form.findcontrol("Gantt1").AddTask(3,3,"Attività 3",Today(),Today(),4,"Risorsa 2") form.findcontrol("Gantt1").AddTask(4,4,"Attività 4",Today(),Today(),4,"Risorsa 2") form.findcontrol("Gantt1").SetHolidays(Dateadd(dateinterval.month,-3,today()),Dateadd(dateinterval.month,3,today()))
Il seguente frammento di codice può essere utilizzato per modificare una attività:
form.findcontrol("Gantt1").ModifyTask(1,1,"Attività 1 modificata",Dateadd(dateInterval.day,2,Today()),Dateadd(dateInterval.day,3,Today()),16,"Risorsa 2","<B>Attività 1 modificata</B>")
Il seguente frammento di codice può essere utilizzato per visualizzare tutte le attività nel diagramma.
dim tasks as dbarray=form.findcontrol("Gantt1").GetAllTasks() dim i as integer dim s as string="" for i=1 to tasks.size s+=tasks(i).TaskName+" "+dtoc(tasks(i).StartDate)+" "+dtoc(tasks(i).EndDate)+vbcr next form.alert(s)
Metodi utilizzabili da codice lato Client (Javascript)
- show(): visualizza l’oggetto.
- hide(): nasconde l’oggetto.