/// <summary> /// Crea la struttura dei nomi del riepilogo definendo 3 righe di titolo (DATA, AZIONE PARDE, AZIONE), una riga per ogni entità, e una colonna per ogni AZIONE con la DATA di riferimento. /// </summary> protected virtual void CreaNomiCelle() { //inserisco tutte le righe _definedNames.AddName(_rigaAttiva++, "DATA"); _definedNames.AddName(_rigaAttiva++, "AZIONI_PADRE"); _definedNames.AddName(_rigaAttiva++, "AZIONI"); foreach (DataRowView categoria in _categorie) { if (Workbook.Repository.Applicazione["VisCategoriaRiepilogo"].Equals("1")) { _definedNames.AddName(_rigaAttiva++, categoria["SiglaCategoria"]); } _entita.RowFilter = "SiglaCategoria = '" + categoria["SiglaCategoria"] + "' AND IdApplicazione = " + Workbook.IdApplicazione; foreach (DataRowView e in _entita) { _definedNames.AddName(_rigaAttiva, e["SiglaEntita"]); _definedNames.AddGOTO(e["SiglaEntita"], Range.R1C1toA1(_rigaAttiva++, _colonnaInizio)); } } //inserisco tutte le colonne _definedNames.AddCol(_colonnaInizio++, "COLONNA_ENTITA"); CicloGiorni((oreGiorno, suffissoData, giorno) => { foreach (DataRowView azione in _azioni) { if (azione["Gerarchia"] != DBNull.Value) { _definedNames.AddCol(_colonnaInizio++, azione["SiglaAzione"], suffissoData); } } }); _definedNames.DumpToDataSet(); }