domenica 31 ottobre 2021

Tools online video scrittura, presentazione, grafica ed animazione

Una serie di strumenti online gratuiti che possono sostituire, anche in parte alcuni programmi da installare sul pc.

Dal seguente sito https://www.offidocs.com/ in lingua inglese, è possibile effettuare modifiche e creazioni di nuovi documenti, presentazioni, immagini o animazioni.

Tutte le funzionalità sono gratuite.


sabato 30 ottobre 2021

Asp.Net MVC bootstrap col-md two control horizontal inline form allineare i controlli in maniera responsive

Nello sviluppo di applicazioni Asp.Net MVC con Bootstrap nel caso che dobbiamo allineare i controlli su una stessa linea e renderli responsive, ossia che al ridimensionamento del browser questi rimangano nella stessa posizione, dobbiamo utilizzare la classe "form-inline col-md-offset-2".


Qui di seguito un frammento di codice di esempio.

<div class="row">

    <div class="col-md-4">

             <label for="NomeCampo">Testo</label>

                    <div class="form-inline col-md-offset-2">

                             <input type="text" name="Nome" class="form-control"  id="NomeID"  /> 

                                <input type="text" name="NomeAltroCampo" class="form-control"  id="NomeID" />

                  </div>

     </div>

 </div>

venerdì 29 ottobre 2021

Download gratuito gioco DARQ: Complete Edition

 



Disponibile gratuitamente e senza limitazioni il gioco di strategia in ambientazione horror Darq, in lingua italiano e per sistemi operativi Windows.

Il gioco si potrà scaricare gratuitamente fino al 4 novembre, dopo tale data non sarà possibile scaricarlo gratuitamente.

Per maggiori informazioni e download visitate il seguente sito DARQ: Complete Edition | Acquistalo e scaricalo subito sull'Epic Games Store

giovedì 28 ottobre 2021

Blog su .Net multi piattaforma

Un blog con interessanti articoli, notizie e trucchi sulla programmazione .Net multi piattaforma.
Dal seguente sito https://nicksnettravels.builttoroam.com/ è possibile consultare una serie di articoli e materiale sulla programmazione .Net per vari ambienti, mobile, linux e Windows.
Il blog è in lingua inglese.


martedì 26 ottobre 2021

c# regular expression phone mobile number italy

Il frammento di codice qui di seguito, illustra una tecnica di Regular Expression per verificare se il numero telefonico digitato rispetta la formattazione dei telefoni mobile italiani.
Per esempio sono validi i seguenti formati:

339.1980075
339198007
3391980075
339 1980075
339 198906
339\1980065
339\198006

string EspressioneRegolare  @"^\(?([0-9]{3})\)?[-.\\ ]?([0-9]{6,7})$";

bool esito = Regex.Match("339.1980075", EspressioneRegolare  ).Success;

lunedì 25 ottobre 2021

Download ebook C++ Notes for Professionals

 



Disponibile gratuitamente un manuale in formato pdf ed in lingua inglese sul linguaggio di programmazione C++.

Con oltre 600 pagine, e tantissimi esempi di codice, il manuale offre una completa conoscenza di questo linguaggio in vari ambiti.

Per maggiori informazioni e download visitate il seguente sito https://sf.tradepub.com/free/w_goaa08/

domenica 24 ottobre 2021

Sito sul sistema operativo Linux

Per tutti gli appassionati del mondo open source o meglio del sistema operativo Linux, il seguente sito https://www.lffl.org/ offre notizie ed articoli sul famoso "Pinguino".

Un sito in lingua italiana e molto aggiornato.

sabato 23 ottobre 2021

download gioco gratuito Among the Sleep - Enhanced Edition

 



Disponibile gratuitamente per il download il gioco di orrore Among the Sleep per sistemi operativi Windows.

Il gioco è in italiano e riguarda un'avventura horror.

Fino al 28 ottobre 2021 il gioco si potrà scaricare gratuitamente dopo tale data il download sarà a pagamento, per maggiori informazioni e download visitate il seguente sito Among the Sleep - Enhanced Edition | Acquistalo e scaricalo subito sull'Epic Games Store

venerdì 22 ottobre 2021

Windows 11 e Windows 10 differenza tra date con la calcolatrice

 



In Windows 10 e Windows 11 è possibile effettuare la differenza tra due date, utilizzando la calcolatrice.

Dopo aver aperto la calcolatrice, fate click nel pulsante in alto a sinistra, e nel menu che viene aperto selezionate la voce "Calcolo della data" (figura 1).

Figura 1 - Il menu per la differenza della data



A questo punto impostando i due intervalli di data, avrete la differenza (figura 2).




giovedì 21 ottobre 2021

Download ebook gratuito Linux Notes for Professionals

 



Disponibile gratuitamente in formato pdf ed in lingua inglese un ebook sul sistema operativo Linux.

Circa 100 pagine sul sistema operativo Open Source più famoso.

Per maggiori informazioni e download visitate il seguente sito https://sf.tradepub.com/free/w_goaa22/

mercoledì 20 ottobre 2021

Download ebook gratuito Xamarin.Forms Notes for Professionals

 



Disponibile gratuitamente un ebook gratuito sulla programmazione mobile tramite il Framework Xamarin.

Il libro di oltre 100 pagine in formato pdf ed in lingua inglese fornisce numerosi frammenti di codice.

Per maggiori informazioni e download visitate il seguente sito Xamarin.Forms Notes for Professionals, Free Goal Kicker eBook (tradepub.com)

martedì 19 ottobre 2021

Sito su Windows 10 e Windows 11 in ambito sistemistico

Il seguente sito https://thegeekpage.com/ offre una serie di articoli e notizie in ambito sistemistico su Windows 11 e Windows 10.
Il sito è in lingua inglese.

domenica 17 ottobre 2021

C# Asp.Net Core MVC la gestione dei cookie .Net 5

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_c-aspnet-core-mvc-la-gestione-dei-cookie_1756.aspx


In questo articolo vedremo come gestire i cookie nelle applicazioni web di tipo Asp.Net Core MVC, utilizzando il linguaggio di programmazione C# e l’ambiente di sviluppo Visual Studio 2019.
Può tornare utile gestire alcune informazioni tramite cookie che permettono di creare applicazioni in base alla navigazione.
Nell’articolo verrà fornito al lettore la gestione dei cookie, come l’aggiunta, la lettura del dato e la cancellazione.
L’applicazione sarà una semplice pagina web, con tre collegamenti ipertestuali, per aggiunta, lettura e cancellazione del cookie ed un campo per visualizzare il valore del cookie, il tutto come mostrato in figura 1.



Figura 1 – I vari pulsanti per la gestione dei cookie

Creazione del progetto

Si crea un nuovo progetto di tipo web selezionando come modello “app web Asp.Net Core (Model-view-Controller), il tutto come mostrato in figura 2.

Figura 2 – il modello da selezionare

Impostare un nome al progetto, e selezionare come versione del Framework .Net 5.
Confermare il tutto tramite il pulsante “Crea”.

Stesura del codice

Terminata la creazione del codice, non ci resta che scrivere il codice per la gestione dei cookie, in particolare nella pagina index, dovremmo creare tre collegamenti ipertestuali e un div per la visualizzazione del dato, il tutto come mostrato in figura 1.
Passiamo alla pagina “Index” situata nella cartella “Home” ed aggiungiamo tre “ActionLink” con il quale a seconda della voce verranno invocati i vari metodi, quali aggiunta del cookie, lettura e cancellazione.
La pagina sarà composta da un model di tipo “String” in modo che visualizza il valore del cookie e tre “ActionLink” ossia collegamenti ipertestuali, che richiamano per ogni voce un determinato metodo che permette di eseguire l’aggiunta di un cookie, il rilevamento del valore del cookie e la relativa cancellazione del cookie stesso.

Qui di seguito il codice completo della pagina “Index” delle suddette operazioni

@model string

@{

    ViewData["Title"] = "Home Page";

}

 

<div class="text-center">

    <h1 class="display-4">Gestione Cookie</h1>

    <p>Gestione dei cookie</p>

    <br />

    <a href="@Url.Action("AggiungiCookie", "Home")">Aggiungi Cookie</a>

    <a href="@Url.Action("RilevaCookie", "Home")">Rileva Valore Cookie</a>

    <a href="@Url.Action("EliminaCookie", "Home")">Elimina Cookie</a>

    <br /><br /> Valore cookie rilato:<br />

    @{

        if (Model != null)

        {

            <div>@Model</div>

        }

    }

 

</div>



Terminata la stesura della pagina non resta che scrivere nel controller “Home” il codice per eseguire le varie operazioni. Andremo a creare tre metodi che permetteranno di gestire i cookie tramite la classe “CookieOptions” .
Si crea un metodo per l’aggiunta dei cookie impostando i parametri del nome chiave cookie, valore e durata di 20 giorni.
Qui di seguito il codice dell’aggiunta di un cookie.
Controller

Controller

C#

public IActionResult AggiungiCookie()

        {

            string chiaveCookie = "NomeChiave";

            string ValoreCookie = "Valore";

            CookieOptions objCookie = new CookieOptions();

            objCookie.Expires = DateTime.Now.AddDays(20);

            Response.Cookies.Append(chiaveCookie, ValoreCookie, objCookie);

        

 

            return View("Index");

        }



Tramite CookieOptions, sono impostati alcune informazioni come la durata, mentre tramite il metodo Append, della proprietà Cookies di Response, vengono salvate nel browser il cookie.
Nel browser Chrome, per il collegamento “Aggiungi Cookie”, troveremo nella voce “Application” (3.1) Coockies (3.2) il dato salvato (3.3)




Figura 3 – Il cookie salvato visibile nelle opzioni del browser Chrome.


Continuiamo a scrivere il codice per la gestione dei cookie, un metodo per la lettura del valore del cookie che andremo a visualizzare nella pagina.
Qui di seguito il frammento di codice delle suddette operazioni.


public IActionResult RilevaCookie()

        {

            string ValoreRilevato = Request.Cookies["NomeChiave"];

            return View("Index", ValoreRilevato);

        }



Siamo giunti al termine della stesura del codice, dobbiamo scrivere il codice per la cancellazione del cookie.
Il codice per la cancellazione del cookie è simile all’aggiunta di un cookie con la sola differenza che la durata è di un giorno precedente a quello attuale, in questo modo per scadenza viene rimosso.
Impostando il giorno prima di oggi nella proprietà “Expires” dell’oggetto di tipo “cookieOptions” il cookie verrà cancellato.

C#

  public IActionResult EliminaCookie()

        {

            string chiaveCookie = "NomeChiave";

            string ValoreCookie = "Valore";

            CookieOptions objCookie = new CookieOptions();

            objCookie.Expires = DateTime.Now.AddDays(-1);

            Response.Cookies.Append(chiaveCookie, ValoreCookie, objCookie);

 

 

            return View("Index");

        }





Non ci resta che testare il nostro applicativo e fare click sul collegamento di aggiunta cookie, poi sul pulsante per rilevare il valore ed infine sulla cancellazione, per ogni collegamento click aprire la finestra delle opzioni del browser e verificare nella sezione Cookies il dato inserito.

Conclusioni

L’articolo ha voluto introdurre il lettore alla creazione di applicazioni web, in particolar modo di Asp.Net Core MVC, sull’utilizzo dei cookie. I cookie che spesso si sente parlare, soprattutto quando si naviga in internet nel quale ci viene chiesto il consenso dei dati, permettono di salvare informazioni sull’utente che in quel momento sta navigando nella nostra applicazione web, e quindi gestire le varie pagine o rilevare i suoi comportamenti per poi offrire un’esperienza di navigazione in base al singolo utente che usa l’applicativo.
Naturalmente per la gestione di particolari informazioni sull’utilizzo dell’applicativo intranet, è consigliabile valutare la tecnica di salvataggio dei log su un database, con il quale può riportare interessanti indicazioni, sia ai tecnici e sia all’amministrazione aziendale.

sabato 16 ottobre 2021

Download gioco Stubbs the Zombie in Rebel Without a Pulse

 



Disponibile gratuitamente e senza limitazioni il gioco sparatutto Stubbs the Zombie in Rebel Without a Pulse per un pubblico maggiorenne per sistemi operativi Windows.

Il gioco in lingua italiana, è disponibile gratuitamente fino al 21 ottobre 2021 dopo tale data il download non sarà più gratuito mentre il gioco continuerà a funzionare.

Per maggiori informazioni e download visitate il seguente sito Stubbs the Zombie in Rebel Without a Pulse | Acquistalo e scaricalo subito sull'Epic Games Store 

venerdì 15 ottobre 2021

Download gratuito Pacchetto Epic Paladins

 



Fino al 21 ottobre 2021 è possibile scaricare gratuitamente e senza limitazioni il pacchetto con funzionalità interessanti per il gioco di combattimento.

Dopo tale data, non sarà più possibile scaricarlo gratuitamente.

Per maggiori informazioni e download visitate il seguente sito Pacchetto Epic Paladins - Epic Games Store


giovedì 14 ottobre 2021

Download gioco Animation Throwdown: The Quest for Cards

 



Disponibile gratuitamente e senza limitazioni il gioco di strategia Animation Throwdown The questa for cards, per sistemi operativi Windows.

Per maggiori informazioni e download vistate il seguente sito Animation Throwdown: The Quest for Cards | Scaricalo e gioca gratuitamente sull'Epic Games Store

mercoledì 13 ottobre 2021

download ebook C# Notes for Professionals

 


Disponibile gratuitamente un ebook di oltre 700 pagine in lingua inglese e formato pdf sul linguaggio di programmazione C#.

Nel libro sono presenti molti esempi di codice.

Per maggiori informazioni e download visitate il seguente sito C# Notes for Professionals, Free Goal Kicker eBook (tradepub.com) 

martedì 12 ottobre 2021

Download ebook JavaScript Notes for Professionals

 



Un nuovo ebook disponibile gratuitamente in formato pdf ed in lingua inglese, con oltre 400 pagine con tantissimi esempi di codice per il linguaggio Javascript.

Dal seguente sito https://sf.tradepub.com/free-offer/javascript-notes-for-professionals/w_goaa19 è possibile scaricare gratuitamente, previa registrazione gratuita, un ebook sulla programmazione web con il linguaggio Javascript.

Per maggiori informazioni e download visitate il sito indicato.


lunedì 11 ottobre 2021

download ebook HTML5 Notes for Professionals

 


Disponibile gratuitamente un ebook in lingua inglese con numerosi esempi di codice sul linguaggio di programmazione HTML 5

Per maggiori informazioni e download visitate il seguente sito HTML5 Notes for Professionals, Free Goal Kicker eBook (tradepub.com)

domenica 10 ottobre 2021

download ebook Angular 2 Notes for Professionals

 



Disponibile gratuitamente un ebook in lingua inglese e formato pdf di oltre 200 pagine, riguardante Angular 2.

Nel manuale, scaricabile qui https://sf.tradepub.com/free-offer/angular-2-notes-for-professionals/w_goaa04 sono presenti numerosi frammenti di codice.

Per il download e maggiori informazioni visitate il sito indicato.


sabato 9 ottobre 2021

Sito riguardante la creazione di video giochi - gamefromscratch

Un portale che fornisce interessanti articoli, ma anche notizie sul mondo della creazione dei video giochi.
Il sito gamefromscratch in lingua inglese, è costantemente aggiornato con interessante materiale su chi realizza video giochi o vuole cimentarsi in questo campo.
Il sito è visibile al seguente indirizzo https://gamefromscratch.com/ 

venerdì 8 ottobre 2021

Download gioco PC Building Simulator




Disponibile gratuitamente per il download il gioco di simulazione PC building Simulator, che permette di assembrare e sistemare i pc.

Fino al 14 ottobre 2021 è possibile scaricarlo gratuitamente, dopo tale data a pagamento.

Il gioco è in lingua italiana per sistemi operativi Windows e senza limitazioni, per maggiori informazioni e download visitate il seguente sito PC Building Simulator | Acquistalo e scaricalo subito sull'Epic Games Store 

mercoledì 6 ottobre 2021

Download ebook gratuito Entity Framework Notes for Professionals




Disponibile gratuitamente un ebook di circa 100 pagine in lingua inglese e con varie immagini sull'utilizzo di Entity Framework tramite il linguaggio di programmazione C#.

Un manuale che fornisce interessanti tecniche sull'utilizzo della nuova gestione dei dati.

Per maggiori informazioni e download visitate il seguente sito https://sf.tradepub.com/free-offer/entity-framework-notes-for-professionals/w_goaa11 

martedì 5 ottobre 2021

Download Windows 11



Da oggi è possibile scaricare  il nuovo sistema operativo Windows 11 in lingua italiana per il proprio pc.

Il nuovo sistema operativo, richiede particolari requisiti e nel sito è possibile scaricare un programma per verificare se il proprio pc supporta questa nuova versione del sistema operativo di Microsoft.

Per maggiori informazioni e download visitate il seguente sito https://www.microsoft.com/it-it/software-download/windows11

lunedì 4 ottobre 2021

Windows 11 - menu contestuale sulle cartelle

 


Il nuovo sistema operativo Windows 11, presenta un nuovo menu contestuale con altre voi ed impostazioni.

Se facciamo clic con il tasto destro sulla cartella, troveremo nuove voci come l'apertura del terminare per i comandi, copiare il percorso ed altre voci presenti nella versione precedente.

Le voci riguardante le azioni sulla cartella come per esempio  taglia, copia ed incolla invece si trovano tramite le prime icone in alto disposte in orizzontale.


domenica 3 ottobre 2021

C# Merge di righe nel controllo DatagridView, raggruppare righe

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_c-merge-di-righe-nel-controllo-datagridview-raggruppare-righe_1755.aspx  

In questo articolo vedremo come applicare in un controllo di tipo DatagridView in ambito Windows Application, tramite il linguaggio di programmazione C#, il merge tra più righe con un valore uguale.

Nel caso che si vuole realizzare un’applicazione per la gestione dei dati, e visualizzarli raggruppandoli per categoria, avremo una categoria con un valore e poi nelle colonne a seguire i vari dati per ogni cella di riga.

Il merge, o meglio raggruppamento è un modo di rappresentare i dati su specifiche esigenze.

In questo articolo vedremo come tramite Windows Application e con Visual Studio 2019 versione del Framework 5, che è l’ultima appena rilasciata con cui scriviamo l’articolo, fornire una particolare visualizzazione dei dati, il tutto come mostrato in figura 1.


Figura 1 – la visualizzazione dei dati


Creazione del progetto

Si crea un nuovo progetto, di tipo Windows Application, selezionando come linguaggio di programmazione C# e il modello tipo App Forms, selezionando la versione del Framework 5.0. Dopo aver creato il progetto, aggiungere un controllo DatagridView, impostando la proprietà “Name” con il valore “DtgDati” e la proprietà “Dock” su “Top”, in questo modo il controllo verrà posizionato in alto, come nella figura 1.



Stesura del codice

Terminata la realizzazione della form, dobbiamo creare una classe denominata “DataGridViewMergedColumn” che permette di impostare uno stile alle varie celle di una determinata riga.

In particolare la classe sarà il modello di colonna, che tramite il metodo “IsValoreRipetuto” della sottoclasse “DataGridViewMergedTextBoxCell” permetterà di capire se il valore precedente è uguale a quello procedente oppure no, in caso affermativo la cella sarà unita.

Nella classe inoltre vengono sovrascritti (“override”) gli eventi “GetFormattedValue” e “Paint” per fornire lo stile a noi desiderato.

Dopo aver creato la classe denominata “” dobbiamo inserire lo spazio dei nomi per gestire la ereditarie alle classe per la gestione delle colonne e celle del controllo DatagridView.


Qui di seguito gli spazio dei nomi delle suddette operazioni.

C#

using System.Windows.Forms;

using System.ComponentModel;

using System.Drawing;


Terminato l’inserimento dello spazio dei nomi, non resta che scrivere gli eventi e la sottoclasse per la gestione delle colonne e celle.

Qui di seguito il frammento di codice della classe “DataGridViewMergedColumn” delle suddette operazioni.


C#

public class DataGridViewMergedColumn : DataGridViewTextBoxColumn

            {

        public DataGridViewMergedColumn()

        {

            CellTemplate = new DataGridViewMergedTextBoxCell();

        }

 

                        private class DataGridViewMergedTextBoxCell : DataGridViewTextBoxCell

                        {

                                    private bool IsValoreRipetuto(int IndiceRiga, int IndiceColonna)

                                    {

                                               if (IndiceRiga == 0)

                                                           return false;

 

                                               DataGridViewCell CellaCorrente = this.DataGridView.Rows[IndiceRiga].Cells[IndiceColonna];

                                               DataGridViewCell CellaPrecedente = this.DataGridView.Rows[IndiceRiga - 1].Cells[IndiceColonna];

 

                                               return Object.Equals(CellaCorrente.Value, CellaPrecedente.Value);

                                    }

 

                                    protected override object GetFormattedValue(object Valore, int IndiceRiga, ref DataGridViewCellStyle StileCella, TypeConverter valueTypeConverter, TypeConverter formattedValueTypeConverter, DataGridViewDataErrorContexts context)

                                    {

                                               if ((IndiceRiga > 0) && IsValoreRipetuto(IndiceRiga, this.ColumnIndex))

                                                           return string.Empty;

                                               else

                                                           return base.GetFormattedValue(Valore, IndiceRiga, ref StileCella, valueTypeConverter, formattedValueTypeConverter, context);

                                    }

 

                                    protected override void Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates cellState, object value, object formattedValue, string errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts)

                                    {

                                               if (rowIndex < this.DataGridView.Rows.Count - 1)

                                               {

                                                           if (IsValoreRipetuto(rowIndex + 1, this.ColumnIndex))

                                                           {

                                                                       advancedBorderStyle.Bottom = DataGridViewAdvancedCellBorderStyle.None;

                                                           }

                                               }

 

                                               base.Paint(graphics, clipBounds, cellBounds, rowIndex, cellState, value, formattedValue, errorText, cellStyle, advancedBorderStyle, paintParts);

                                    }

                        }

            }


Terminata la scrittura della classe ompiliamo per vedere se tutto funzionare correttamente e facciamo doppio click sulla form, in modo che passiamo in visualizzazione grafica.

Facciamo doppio click in un punto qualunque della form in modo che passiamo in visualizzazione codice, e precisamente nell’evento load della form.


Si crea un metodo che simulerà un caricamento dei dati, con un datatable, avente tre colonne, denominata, categoria, descrizione e quantità. La colonna “Categoria”, sarà quella considerata per raggruppare le righe. Al termine del caricamento del controllo DatagridView, eliminiamo la colonna “Categoria” per aggiungere quella personalizzata, utilizzando la classe creata in precedenza denominata “DataGridViewMergedColumn”.

Qui di seguito il frammento di codice delle suddette operazioni, relativo alla creazione del datatable con i dati e la personalizzazione della colonna.


C#

private void CaricaDati()

        {

 

            DataTable Dati = new DataTable();

            DataColumn Categoria = new DataColumn("Categoria");

            DataColumn Descrizione = new DataColumn("Descrizione");

            DataColumn Quantita = new DataColumn("Quantita");

            Dati.Columns.Add(Categoria);

            Dati.Columns.Add(Descrizione);

            Dati.Columns.Add(Quantita);

            DataRow riga = Dati.NewRow();

            riga["Categoria"] = "Hardware";

            riga["Descrizione"] = "SSD";

            riga["Quantita"] = "10 pezzi";

            Dati.Rows.Add(riga);

            riga = Dati.NewRow();

            riga["Categoria"] = "Hardware";

            riga["Descrizione"] = "RAM";

            riga["Quantita"] = "3 pezzi";

            Dati.Rows.Add(riga);

            riga = Dati.NewRow();

            riga["Categoria"] = "Hardware";

            riga["Descrizione"] = "Monitor";

            riga["Quantita"] = "30 pezzi";

            Dati.Rows.Add(riga);

            riga = Dati.NewRow();

            riga["Categoria"] = "Hardware";

            riga["Descrizione"] = "Schede madri";

            riga["Quantita"] = "8 pezzi";

            Dati.Rows.Add(riga);

            riga = Dati.NewRow();

            riga["Categoria"] = "Software";

            riga["Descrizione"] = "Microsoft Office";

            riga["Quantita"] = "8 pezzi";

            Dati.Rows.Add(riga);

            riga = Dati.NewRow();

            riga["Categoria"] = "Software";

            riga["Descrizione"] = "Microsoft Windows";

            riga["Quantita"] = "23 pezzi";

            Dati.Rows.Add(riga);

            DtgDati.DataSource = Dati;

            DataGridViewMergedColumn ColonnaMerge = new DataGridViewMergedColumn();

             string NomeColonna = "Categoria";

            ColonnaMerge.HeaderText = NomeColonna;

            ColonnaMerge.Name = NomeColonna;

            ColonnaMerge.DataPropertyName = NomeColonna;

            int colidx = DtgDati.Columns[NomeColonna].Index;

            DtgDati.Columns.Remove(NomeColonna);

            DtgDati.Columns.Insert(colidx, ColonnaMerge);

 

        }


Come si è visto nel precedente codice, nella parte finale del codice, si crea la colonna personalizzata e si imposta il nome e fonte dati della colonna relativo alla classe per effettuare il merge delle righe, creata in precedenza, rimuovendo la colonna utilizzata all’inizio per il caricamento dei dati.

Ora non resta che richiamare questo metodo nell’evento load della form, ed eseguire il nostro applicativo.

Nell’evento load della form, richiamiamo il caricamento dei dati nel seguente modo.


C#

private void Form1_Load(object sender, EventArgs e)

        {

            CaricaDati();

        }




Conclusioni

L’articolo ha voluto fornire al lettore la possibilità di estendere alcune funzionalità di un controllo DatagridView, con aspetti grafici che possono tornare utile nello sviluppo di applicazioni gestionali in questo caso raggruppando le righe.

Le potenzialità offerte dal controllo DataGridView, sono numerose ed è un modo semplice di estendere il controllo rendendo piacevole lo sviluppo di applicazioni con questo controllo.

Il codice si può utilizzare anche con ambienti di sviluppo precedenti alla 2019 e versioni precedenti di Framework.

venerdì 1 ottobre 2021

Ambiente e componente gratuito per la creazione di video Giochi

 



Per tutti coloro che sono interessati a sviluppare un video gioco, può tornare utile MicroStudio, che permette di creare video giochi per tutti gli utenti, anche per chi si avvicina alla prima volta a questo settore.

Il programma ed il sito sono in lingua inglese.

Per maggiori informazioni e download visitate il seguente sito https://microstudio.dev/