Press "Enter" to skip to content

Category: Beginners

WPF Utilizzare una ListView in modo Classico o in Binding con MVVM

Un post che deriva da un thread su Stack Overflow in cui un principiante non riusciva a capire come recuperare il selected item di una ListView intercettando gli eventi. Dal codice esempio che ha mostrato, stava utilizzando l’interfaccia WPF nella stessa modalità in cui avrebbe fatto in una applicazione Windows Forms, cosa che è fattibile e funziona perfettamente, ma è un po come utilizzare un trattore da 500 cavalli per arare le aiuole del nostro orto condominiale.

Pertanto, ho deciso di creare questo esempio che mostra come utilizzare WPF come eravamo abituati a fare con le windows forms, e quindi creare una applicazione event driven, e come utilizzare invece WPF nel modo corretto e quindi creare una applicazione Data Driven, dove tutto quello che è la forma e il design della parte grafica è indipendente dalla gestione dei dati.

mainwindow_01

Comments closed

Stampare da una applicazione WPF

Ho pubblicato un post qualche giorno fa, in risposta ad una domanda sul Forum Microsoft dedicato a C# per mostrare come si può creare un report utilizzando Windows Forms e quel che ci mette a disposizione per le stampe.

Considerato che io lavoro in WPF, e che WPF è un sistema per scrivere programmi desktop molto più efficiente, potente ed interessante delle Windows Forms, credo sia opportuno mostrare quali sono gli strumenti che abbiamo a disposizione per effettuare delle stampe da WPF.

Per fare questo, ho creato una piccola applicazione simile a quella usata per windows forms, questa applicazione carica il contenuto della tabella Customers del database storico Northwind su una Datagrid, e ci mette a disposizione 3 buttons che mostrano i 3 metodi principali per stampare da WPF.

mainwindow_01

Comments closed

Importare un MDB Access in SQL Server

Su richiesta di un collega che proviene da sistemi con database relazionali molto diversi da SQL Server,  una breve serie di screenshot e indicazioni sull’uso del wizard di importazione dati in SQL Server. In questo caso l’import è quello di un database Access, ma vedrete dagli screenshot come SQL Server abbia dei driver di importazione più o meno per qualsiasi cosa.

Cosa fare prima di tutto

I driver di importazione, importano tabelle all’interno di un database esistente, pertanto la prima cosa da fare è generare il database di destinazione in SQL Server.

Comments closed

Convertire un foglio di Excel in XML

Un collega mi ha chiesto un suggerimento su come fare un programma per leggere dati da un foglio di Excel e convertirli in un file XML, considerato che è qualcosa che potrebbe accadere anche spesso, visto che soprattutto i non informatici hanno una propensione per utilizzare i fogli di Excel come database. O come formato standard di scambio dati, ho deciso di fare un esempio che mostra come utilizzare la libreria Open Source EPPlus, la trovate all’inidirizzo:  epplus.codeplex.com per leggere un file di Excel e scrivere un documento XML senza utilizzare per questo una specifica classe.

Perché questo esempio? perché è semplice da utilizzare per ricevere dati di tipo One Shot ovvero ci arriveranno una sola volta, quindi non vale la pena di costruire una classe entity e una collection per leggere una sola volta un foglio di Excel.

Vediamo come è fatta l’applicazione, si tratta di una applicazione WPF che ho chiamato con molta fantasia FromExcelToXml che contiene una sola Window, MainWindow:

MainWindow_01

Comments closed

Stampare i dati contenuti in una DataTable

In risposta ad una domanda sul forum Microsoft da parte di un utente principiante che voleva stampare dei dati da una applicazione Windows Forms,  Il thread lo trovate a questo indirizzo, ho implementato una mini funzione di stampa dei dati letti dal programma scritto per il post Come eseguire una query filtrata su SQL Server alla modifica del testo su una textbox dove potete leggere la costruzione della form.

Oggi ho semplicemente aggiunto un il Button btnPrint in fondo alla form ed il suo event handler Andiamo a vedere cosa ho implementato.

mainform_01

Comments closed

Come eseguire una query filtrata su SQL Server alla modifica del testo su una textbox

Un esempio creato in risposta ad una domanda sui forum Microsoft  Il thread lo trovate qui dove un utente chiedeva quale sia il modo per passare la stringa di una textbox ad una query SQL per effettuare il filtraggio sui dati inseriti dall’utente.

L’applicazione che ho creato è molto semplice. Anche se vi ho inserito un trucco da programmatore esperto.

form1_01

Comments closed

Come acquisire data e ora su due controlli diversi memorizzandola sullo stesso campo

Qualche giorno fa sul forum WPF di Microsoft Italia, è stata fatta una domanda da parte di uno sviluppatore che aveva la necessità di acquisire sia una data che un ora e voleva farlo su due controlli distinti.

I controlli standard WPF comprendono solo il controllo DateTime, che non permette di avere dei formati che diano modo di acquisire solo la data o solo l’ora.

E’ abbastanza primitivo da essere adatto solo a permettere l’acquisizizone utilizzando il calendario. Una acquisizione piuttosto lenta e priva del valore dell’ora.

Comments closed

Common Libraries – Due metodi helper per la crittografia AES

In risposta a Questo thread postato oggi sul forum Microsoft C# in cui un utente vuole implementare una chat crittografata utilizzando il metodo AES e ha trovato delle difficoltà.

Rispondo pubblicando un esempio di codice con i metodi che utilizzo io per questo tipo di crittografia.

Comments closed

Come passare un dato da una form ad un altra e aggiornare un valore a video nella form ricevente

In risposta ad una domanda fatta sul Form Microsoft C# (dove invito chiunque visiti il mio sito a porre quesiti per avere risposte) posto un piccolo esempio che mostra come creare una form da una esistente e aggiornare un valore in modo temporizzato.

Il thread originale sul forum non riguarda direttamente l’aggiornamento dei dati fra form, ma la prima risposta a cui questo esempio fa seguito, riguarda la correzione degli errori primari nel codice, poi, parleremo di multithreading e magari posterò un esempio in quel senso.

Il problema

Il programma in questione ha una form principale che permette una serie di attività, ed ha una form secondaria che deve visualizzare in modo temporizzato i valori derivati da una lettura sulla porta seriale. Il codice originale scritto da chi ha posto la domanda aveva un errore fondamentale, ovvero creava una form nuova ogni volta che doveva aggiornare il valore letto dalla seriale.

Vi invito a non fare smorfie dicendo “Ma come, è una cosa banale dai!” perché tutti da principianti siamo passati da questo problema, e chiunque neghi è un bugiardo patentato, anche io ho avuto questo problema, nel lontano 2003 quando ho scritto la mia prima applicazione con le form e sono la prima ad alzare la mano per indicare che sfortunatamente, le cose banali sono quelle che ti bloccano come muri, diventano davvero banali solo dopo che qualcuno ti ha spiegato come fare.

Comments closed