.NET

Applicare un filtro su DataGridView

Ho fatto questo piccolo esempio su come filtrare nel DataGridView i dati contenuti all'interno di un range di date.Per la realizzazione dell’esempio ho utilizzato un DataSet a cui ho aggiunto (nel designer) una tabella con 2 campi.Al DataSet ho collegato un BindingSource, al BindingSource un BindingNavigator e un DataGridView.Ho popolato la tabella con 100 righe con date tutte diverse. Ho aggiunto un CheckBox per testare (checked) se filtrare o meno e due DateTimePicker per i limiti da impostare sulle date da filtrare. La difficoltà maggiore è impostare il filtro con le date convertite in stringa correttamente formattate.Esempio C#Esempio VB.NET

Generazione file Bonifici secondo il tracciato CBI

  Per poter compensare i fornitori lo standard CBI prevede l’invio di un file di tipo testuale predisposto secondo un particolare tracciato che descrive i rapporti da regolare. Come qualsiasi altra comunicazione CBI prevede per i bonifici un file strutturato contenente righe di testo ciascuna marcata in modo particolare in modo tale da poter costituire il “sistema” della comunicazione. Per quanto riguarda il file Bonifici è prevista la struttura: Record Descrizione PC Uno per comunicazione come prima riga della comunicazione, riepiloga i dati generali della comunicazione come mittente, destinatario, data e descrizione del flusso In...

Gestire l’evento AddingNew del BindingSource

Uno dei “problemi” da risolvere durante la gestione degli oggetti DataGridView collegati ad una tabella tramite BindingSource è quella di “riuscire” a inizializzare con dei propri dati le nuove righe generate. Tra gli eventi di BindingSource c’è AddingNew. Come si potrà notare l’esempio di MSDN è del tutto inutilizzabile e non funzionante in quanto prende i dati da un metodo inesistente “democustomer” tralasciando la parte più importante!. L’evento AddNew gestito: 'serve per attribuire valori calcolati a casoDim rnd As New System.Random(DateTime.Now.Second)'definizione di un oggetto di tipo DataRowView 'ogni riga visualizzata è rappresentata da un oggetto'di tipo DataRowViewDim rowView...

Gestire l'apertura di più Forms Tramite La Reflection con Visual Basic

Un piccolo esempio di apertura di più forms tramite la System.Reflection.   Nel medesimo progetto c’è una form principale “MainForm”  e di 3 forms secondarie, nella form principale ci sono 2 controlli una comoda combobox e un bottone.La combobox “contiene” tanti items quante forms secondarie appartengono al progetto, ciascun item riporta il nome di una singola form. All’inizializzazione è richiamato il metodo AggiungiForm che si occupa di estrarre i nomi delle forms secondarie dall’Assembly. Private Sub AggiungiForm()   Dim asmbly As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()   For Each t As Type In asmbly.GetTypes()       If t.BaseType.Equals(GetType(Form)) AndAlso Not (t Is Me.GetType) Then            Me.comboBox1.Items.Add(t.Name)      ...

Calcolo e Verifica del Codice Fiscale

Ho realizzato un nuovo programma di calcolo e verifica del codice fiscale riprendendo alcune logiche dai miei vecchi post. Quanto presentato qui però è un programma che non consente solo di verificare e calcolare il codice fiscale ma anche di decodificare dal codice fiscale, sesso, data e luogo di nascita. Vista la complessità preferisco separare in post diversi la spiegazione dettagliata di tutti i moduli presenti. Su questo primo post presento il programma “dal punto di vista dell’utente utilizzatore”. Come si vede da questa prima schermata il programma si compone di 3 moduli Calcolo Codice Fiscale ...

Esempio di Gestione Access 2007 con password di protezione con C# e VB.NET

Incuriosito da un dibattito in cui mi si diceva che il mio suggerimento non funzionava (Connessione ad Access 2007 da VB.NET e C#) ho voluto provare se avevo preso una cantonata dando informazioni sbagliate. Di solito quando pubblico sul mio blog qualche cosa, mi assicuro di provare in prima persona (e a volte ancora non è sufficiente) quanto pubblicato. Questo post non è altro che la presentazione dell’esempio di prova della connessione ad Access 2007. Ho iniziato facendo un nuovo database da Access 2007 nel formato 2007 (.accdb come estensione) Poi ho aggiunto una tabella (Tabella1) ho riaperto...

Una Semplice Gestione di una Rubrica su File di Testo

Ho preparato questo piccolo esempio di una gestione "non professionale" di una rubrica di contatti con lo scopo di mostrare l'utilizzo di StreamReader, StreamWriter, Using, ListView, OpenFileDialog, SaveFileDialog Descrizione dell'applicazione Si tratta di una gestione di rubrica telefonica / contatti che si appoggia su un normale file di testo. Sul controllo ToolStrip sono  inseriti alcuni bottoni per il caricamento da file, il salvataggio su file, l'aggiunta di nuovi elementi alla ListView, la cancellazione di un elemento dalla ListView, la modifica di un elemento della ListView. La gestione è consentita dal controllo ListView e da una serie di TextBox,...

Caricamento di caratteri accentati da file di testo

Nel forum di VBT&T un thread dedicato all'impossibilità di caricare i caratteri accentati da file di testo. Impossibile, mi sono detto, infatti, utilizzando l'encode giusto la cosa è semplicissima Il progetto VB.NET Powered with Window Live Writer

Gestire il DrawItem degli elementi dei ListBox

Mentre mi documentavo per il post precedente ho trovato lo spunto per una operazione analoga a quella fatta nel mio post precedente. Si tratta, anche qui, di ridisegnare il background dell'elemento selezionato. Per poter compiere l'operazione è necessario impostare il DrawMode della ListBox su OwnerDrawFixed Successivamente è necessario intercettare e gestire l'evento DrawItemHo sviluppato due esempi:Esempio con C#Esempio con VB.NET

Personalizzare l'aspetto delle ColumHeader della ListView

Per personalizzare l'aspetto della ColumHeader sulla classe/controllo ListView è necessario (almeno per la mia soluzione) impostare la proprietà ListView.OwnerDraw a True.   Questa cosa (OwnerDraw a True) comporta la necessità di gestire appunto il disegno del controllo e dei suoi elementi. E' necessario pertanto sottoscrivere e gestire due eventi entrambi legati alla ListView ListView.DrawColumnHeader ListView.DrawSubItem Riservati rispettivamente al disegno della ColumHeader e del Subitem Sottoscrizione evento: C#listView1.DrawColumnHeader += new DrawListViewColumnHeaderEventHandler(lv_DrawColumnHeader); listView1.DrawSubItem += new DrawListViewSubItemEventHandler(lv_DrawSubItem); VB.NET AddHandler listView1.DrawColumnHeader, New DrawListViewColumnHeaderEventHandler(AddressOf lv_DrawColumnHeader) AddHandler listView1.DrawSubItem, New DrawListViewSubItemEventHandler(AddressOf lv_DrawSubItem) Nel gestore dell'evento si provvede al "Draw" dell'oggetto...

Gestire una colonna calcolata nel DataSet

Incuriosito da un post che lamentava l'impossibilità di gestire un campo di tipo testo che doveva evidenziare le righe con una data valida e rimanere vuoto nel caso di data nulla ho realizzato questo piccolo esempio che dimostra come si può gestire il databinding semplicemente aggiungendo una colonna calcolata e la relativa formula. Non ho fatto altro che definire un campo calcolato all'interno della mia tabella di prova impostando la proprietà Expression della mia colonna con il codice: iif(isnull(data,#01/01/1800#) = #01/01/1800#,'','Valida') Il risultato è stato ottenere la gestione del databinding ed avere nello stesso tempo il...

Oracle + Visual Studio .NET - Una bella guida disponibile online

E' disponibile online un pdf  contenente il manuale "Learn Oracle on .NET for Visual Studio 2005/2008 in 2 days". Tralasciando il discorso senz'altro falso dei 2 giorni :) a prima vista si tratta di una guida veramente ottima che per chi ha/vuole Oracle come database credo sia indispensabile consultare. Powerered with Window Live Writer

Registro - Aggiungere un valore binario

Per inserire un valore binario utilizziamo la classe Registry che si trova su sul namespace Microsoft.Win32. Un valore binario non è altro che la rappresentazione di un array di bytes, ciascun byte è composto da 2 caratteri ed è classificato come REG_BINARY Può essere recuperato con una analoga funzione che "rigenera" l'array di bytes. VB.NETDim regkey As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey( "Software\Test")Dim b() As Byte = {0, 2, 0, 1, 1, 1}regkey.SetValue("Valore", b)C#RegistryKey regkey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"Software\Test");byte[] b = {0, 2, 0, 1, 1, 1};regkey.SetValue("Valore", b);   Da notare che per C# è obbligatorio inserire un riferimento alla libreria Microsoft.VisualBasic ed eventualmente un...

Installato Sql Server 2008 e Visual Studio 2008 SP1

Avevo voglia di provare il nuovo Sql Server 2008 così mi sono attrezzato, e ho scaricato Sql Server 2008 Developer dal mio abbonamento MSDN . Per primo ho fatto una nuova installazione su una macchina virtuale con Windows XP installato, poi verificato che Microsoft Dynamics NAV funzionava con Sql Server 2008 (per chi non lo sapesse Dynamics NAV è la fonte del mio lavoro quindi almeno per me è che funzionasse era ed è un prerequisito irrinunciabile) ho provveduto ad installarlo come upgrade di Sql Server 2005 sul mio portatile con Windows Vista Installazione Ex-Novo di SQL Server 2005 su...

Calcolo del Cin del Bollettino Freccia

Su richiesta di qualcuno che me l'ha chiesto esemplifico il calcolo del Cin del bollettino freccia. Il bollettino freccia è il sostituto del bollettino postale introdotto dalle banche come forma alternativa di pagamento. I campi necessari per il calcolo del cin del bollettino freccia sono i seguenti Campo Componenti Lunghezza Note Importo   9 Importo * 100 senza decimali con zeri significativi nessun segno solo importi positivi Cin importo   1 Vedi formula Identificativo pagamento   21     Codice Sia 5 Attribuito dalla banca all'azienda cliente   Riferimento 16...

Utilizzo di SQLite su Visual Studio 2005 - 2008

SQLite è uno dei DataBase che più agevolmente si presta a diventare un valido sostituto di Access.Come database embedded è leggerissimo, non ha bisogno di nessuna installazione se non quella del provider ADO.NET System.Data.SQLite. Anche se non obbligatorio, è' opportuno scaricare il database e i tools dal sito di SQLite soprattutto sqlite3.exe che fornisce una console "linea comandi" di gestione al database, una vera manna per gli smanettoni. Oltre a fornire l'interfaccia / provider ADO.NET di SQLite è possibile "disegnare" la propria base dati e, all'occasione poter creare il database. Il problema dell'interfaccia ide è che si tratta di un...

Difendersi da Sql Injection

Ho trovato questo interessante articolo guida su come difendersi da Sql Injection. How To: Protect From SQL Injection in ASP.NET

Utilizzo della libreria Microsoft.JScript su .NET per ottenere il risultato di una formula

Credo sia noto che C#  non ha la funzione Eval, è possibile però utilizzare una libreria di JScript che è l'implementazione di MIcrosoft di javascript Jscript.NET. Tramite questa è possibile dotare tutti i linguaggi .NET di funzioni gestite dal linguaggio di scripting e difficilmente implementabili direttamente.   Fornire una stringa e ottenere un risultato è uno dei cimenti (inutili) che di solito capitano nella vita di un programmatore, io stesso ho scritto almeno due "valutatori" (nessuno su .net però), uno addirittura che "funzionava" durante l'editazione di una stringa sconto. Su .NET l'implementazione è del tutto semplice, anzi banale....

Copyright © Luciano Bastianello

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski