mercoledì 1 aprile 2026

Angular material How to add custom text option in pageSizeOptions of mat-paginator

In questo mini articolo, vedremo tramite vari frammenti di codice la possibilità di aggiungere una voce personalizzata al controllo mat-paginator, impostando in pageSizeOptions, il tutto come mostrato qui di seguito.

Angular material voce personalizza per pagesizeoptions


Nel file di stile (scss) del componente, scriviamo dei stile che vanno a sovascrivvere ( override) il controllo. Di seguito il frammento di codice delle suddette operazioni.



Component.scss


  ::ng-deep mat-option:last-child:before{

    content: 'Tutti';

  }

  ::ng-deep mat-option:last-child .mat-option-text{

    display: none;

  }

 

Dopo aver modificato il file di stile, occorre scrivere il codice TypeScript, per la gestione della voce personalizzata.

Scriviamo una funzione, che riporta il valore di tutti i record.

Component.ts.

 

    getPageSizes(): number[] {

         

          return [5, 10, 20, this.totaleRecords];

       

      }

 

Dove TotaleRecords è una variabile di tipo number, che contiene il numero di tutti i record rilevati da un servizio web.

Nella parte delle dichiarazioni, dobbiamo aggiungere il riferimento a paginator, sopra, scriviamo la seguente dichiarazione.


 

  @ViewChild(MatPaginator)

    paginator: MatPaginator;

 

 

Siamo giunti alla conclusione di questo articolo, non resta che modificare il codice html, in particolare, impostare la proprietà pageSizeOptions, con i dati che ci interessano.

Di seguito il frammento codice delle suddette operazioni


Component.html.

 

   <mat-paginator #paginator

                               showFirstLastButtons

                               [pageSize]="pageSize"

                               [pageIndex]="pageIndex"

                               [pageSizeOptions]="!loading ? getPageSizes() : [5, 10, 20]"

                               [length]="totaleRecords"

                               (page)="pageChanged($event)">

                </mat-paginator>

 

 



Ora troveremo una voce personalizzata, con la scritta tutti.

martedì 31 marzo 2026

C# impostare il colore di selezione delle righe in un DatagridView

In un progetto di tipo Windows Forms, nel caso che abbiamo l’esigenza di impostare il colore della selezione delle righe di un controllo di tipo “DatagridView”, tramite le sotto proprietà di RowDefaultCellStyle e AlternativeRowsDefaultCellStyle, possiamo impostare uno stile secondo le proprie esigenze.

Di seguito si riporta il frammento di codice per impostare a runtime, ossia quando viene eseguito l’applicativo, lo stile della selezione delle righe di un controllo DatagridView.

 C#

   datagrid1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

   datagrid1.RowsDefaultCellStyle.SelectionBackColor = Color.Red;

   datagrid1.RowsDefaultCellStyle.SelectionForeColor = Color.Blue;

   datagrid1.AlternatingRowsDefaultCellStyle.SelectionBackColor = Color.Aqua;

   datagrid1.AlternatingRowsDefaultCellStyle.SelectionForeColor = Color.DarkOrange;









C# Creazione e gestione di un file Excel tramite libreria closedxml

 

creazione Excel con .Net

In questo articolo introduttivo all'utilizzo della Libreria ClosedXML https://docs.closedxml.io/en/ vedremo come creare e gestire un file Microsoft Excel, tramite tecnologia .Net ed  il linguaggio di programmazione C# .

In particolare vedremo come creare un file Excel, impostando delle intestazioni in grassetto e valorizzando alcuni campi.

Oltre alla creazione del file Excel, anche la relativa lettura.


Creazione del progetto

Dopo aver aperto l'ambiente di sviluppo "Visual Studio 2022 Community", si crea un nuovo progetto di tipo "Windows Application", selezionando l'ultima versione del Framework, in particolare la versione 9 nel momento in cui stiamo scrivendo l'articolo.

Una volta creato il progetto, aggiungiamo alla form due pulsanti, nel primo impostiamo la proprietà "Text" con il valore "Crea Excel" e per la proprietà "Name" il valore "BtnCrea", nel secondo, per la proprietà "Text" il valore "Leggi Excel" e per la proprietà "Name" il valore "BtnLeggiExcel".

Apriamo "Nuget" e cerchiamo il componente "ClosedXML", il tutto come mostrato in figura 1.


componente ClosedXML
Figura 1 - Il componente ClosedXML


A questo punto la creazione del progetto è terminata


Stesura del codice

Passiamo in visualizzazione codice, in modo da scrivere le prime righe di codice. In alto, dove vengono dichiarati i vari "Namespace" aggiungiamo quello relativo al componente appena aggiunto.

Di seguito il frammento delle suddette dichiarazioni.


C#

using ClosedXML.Excel;


Ritorniamo in visualizzazione grafica, in modo da vedere i pulsanti, e facciamo click sul primo pulsante, quello relativo alla creazione del file "Excel".

Facciamo doppio click su questo pulsante, in modo da passare in visualizzazione codice nell'evento click del pulsante stesso.

In questo evento, verrà creato un file Excel, in particolare impostando un nome al foglio, con la valorizzazione delle celle, come intestazioni (nome, cognome e città" ) ed i relativi valori. Ogni intestazione sarà formattata in grassetto. 

Una volta creato il file, verrà salvato in una cartella del pc.

Di seguito si riporta il frammento di codice delle suddette operazioni.


C#

private void BtnCrea_Click(object sender, EventArgs e)

 {

     try

     {

 

 

         //Crea un oggetto di tipo cartella di lavoro

         using (var workbook = new XLWorkbook())

         {

             //Crea ed Imposta il nome del foglio di lavoro

             var worksheet = workbook.Worksheets.Add("Esempio Foglio");

 

             //Aggiungo le intestazioni delle colonne

             worksheet.Cell(1, 1).Value = "Nome";

             worksheet.Cell(1, 2).Value = "Cognome";

             worksheet.Cell(1, 3).Value = "Città";

                   

             //Imposto lo Stile

             worksheet.Cell(1, 1).Style.Font.Bold = true;

             worksheet.Cell(1, 2).Style.Font.Bold = true;

             worksheet.Cell(1, 3).Style.Font.Bold = true;

                   

             //Imposto i valori

             worksheet.Cell(2, 1).Value = "Emanuele";

             worksheet.Cell(2, 2).Value = "Mattei";

             worksheet.Cell(2, 3).Value = "Roma";

             //Salvo il file

             workbook.SaveAs("C:\\Varie\\nuovoExcel.xlsx");

         }

     }

     catch (Exception ex)

     {

         MessageBox.Show(ex.Message);

     }

 }


Ritorniamo in visualizzazione grafica, e facciamo doppio click sul pulsante con il testo "Leggi Excel", in modo da passare in visualizzazione codice nell'evento click del pulsante stesso.

In questo evento, visualizzeremo a video tutti le celle che sono valorizzate.

Di seguito si riporta il frammento di codice delle suddette operazioni.


C#

private void BtnLeggiExcel_Click(object sender, EventArgs e)

{

    using (var workbook = new XLWorkbook("C:\\Varie\\nuovoExcel.xlsx"))

    {

        //Leggo il primo foglio di lavoro

        var worksheet = workbook.Worksheet(1);

 

        //leggo tutte le celle del foglio di lavoro che non sono vuote

        var risultato =   worksheet.Cells(true);

        foreach (var item in risultato)

        {

            MessageBox.Show(item.Value.ToString());

                   

        }

 

              

    }

} 



Conclusioni

L'articolo ha voluto fornire al lettore una delle tante tecniche per gestire i file Microsoft Excel, con il componente CloseXML.

Un componente che semplifica la scrittura di applicazioni, fornendo al programmatore funzionalità anche molto complesse per scrivere in maniera ottimale e veloce il codice. Con questo componente possiamo estendere le nostre applicazioni, nel gestire i file Excel.

Per ulteriori approfondimenti o altro, è possibile consultare la guida presente nel seguente sito https://docs.closedxml.io/en 



lunedì 30 marzo 2026

Software gratuito multipiattaforma per la gestione dei media Grayjay .Net

 

software gratuito multipiattaforma per video

Un software gratuito realizzato con tecnologia .Net, riguardante la gestione multimedia, in particolare video.

Grayjay , qui Grayjay App - Follow Creators Not Platforms il sito, è un programma gratuito multi piattaforma, per la gestione multimediale.

Un software molto ben fatto. Qui GitHub - futo-org/Grayjay.Desktop: Read-only mirror of Grayjay.Desktop repo for issue tracking il codice sorgente.


domenica 29 marzo 2026

Microsoft Outlook impostare la firma nell’email

Introduzione

In questo breve articolo, vedremo come impostare la firma nelle nostre email quando si invia o si risponde ad una comunicazione.

Utilizzeremo l’ultima versione del client di posta elettronica Microsoft Outlook, ma tale operazione è valida anche per altre versioni.


Configurazione

Dopo aver aperto il programma di posta elettronica Microsoft Outlook, create un nuovo messaggio, e nella finestra che viene aperta (figura 1)  fate click sulla voce di menu “Inserisci” e successivamente nella voce “firma”, il tutto come mostrato qui di seguito.

Microsoft Outlook firma nelle email
Figura 1 – Il menu firma

Dopo aver fatto click sulla voce “Firme…”, verrà aperta una finestra (figura 2) , nella quale troviamo varie opzioni per la firma.  


Microsoft Outlook firma nelle email
Figura 2 – La finestra della firma.

Per creare una nuova firma, facciamo click sul pulsante “Nuova”, in questo modo verrà visualizzato una finestra, nel quale impostare il nome della firma (figura 3).


Microsoft Outlook firma nelle email
Figura 3 – Finestra per impostare il nome della firma

Dopo aver impostato un nome e fatto click sul pulsante “OK”, sarà possibile modificare la casella di sotto, indicando le informazioni che vogliamo visualizzare quando si scrive una nuova email o si risponde (figura 4).


Microsoft Outlook firma nelle email
Figura 4 – La casella per impostare il testo della firma

Dopo aver impostato il testo di nostro gradimento, riguardante la firma, nella parte in alto a destra, sotto la voce account di posta elettronica, possiamo impostare la firma o le firme (qualora ne abbiamo più di una ) per nuovi messaggi e per risposte ed inoltri, come riportato qui di seguito.


Microsoft Outlook firma nelle email

Figura 5 – Le modalità di inserimento della firma.


Tramite il pulsante “Elimina”, “Nuova”, “Salva” e “Rinomina”, possiamo eseguire determinate operazioni su una firma esistente, come cancellazione o modifica o rinomina, oppure crearne una nuova.

Dopo aver impostato la firma, confermiamo la finestra, con il pulsante “OK”, in modo che le modifiche saranno salvate.


Conclusioni

Siamo giunti alla conclusione dell’articolo, nel momento in cui si crea un nuovo messaggio di posta elettronica o si risponderà ad uno ricevuto, verrà inserita automaticamente la firma appena creata.  La firma si utilizza soprattutto in ambito lavorativo, ma può tornare utile anche per corrispondenza privata.

Windows 11 impostare lo sfondo del desktop con l’opzione contenuti in evidenzia di Windows, che cambia ogni giorno

In Windows 11 abbiamo la possibilità di impostare lo sfondo del desktop con immagine proposte da Windows, in particolare, che cambiano periodicamente. 

Per impostare questa opzione, occorre fare click in una qualunque parte del desktop che non sia cartelle, file o icone, e nel menu di scelta rapida che viene visualizzato (figura 1) selezionare la voce “Personalizza”.

sfondo desktop contenuti in evidenzia di Windows
Figura 1 – Il menu contestuale

Dopo aver fatto click sulla voce di menu “Personalizza” verrà aperta una finestra (figura 2), riguardante la possibilità di personalizzare Windows.
Tra le varie voci, selezioniamo quella con la scritta “Sfondo”.


sfondo desktop contenuti in evidenzia di Windows
Figura 2  - La voce per impostare lo sfondo.

Dopo aver fatto click sulla voce “Sfondo”, verrà aperta una nuova finestra (figura 3) nel quale viene visualizzata una casella con delle voci, selezioniamo quella con la scritta “Contenuti in evidenzia di Windows”.


sfondo desktop contenuti in evidenzia di Windows
Figura 3 – La possibilità di impostare lo sfondo
 
Chiudiamo le finestre e vedremo che lo sfondo del desktop ha una nuova immagine. Immagine che cambierà ogni giorno.