sabato 13 febbraio 2010

Tutorial Silverlight il controllo datagrid tramite VB.Net e C#

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/art_il-controllo-datagrid-di-silverlight-20_796.aspx



Introduzione
In Silverlight si ha un controllo griglia, molto simile al controllo Datagrid dell’ambiente Asp. Net o Windows Application, solo che presenta alcune limitazioni. Non per questo ci vieta di utilizzarlo in modo professionale, anzi permette ampia libertà al programmatore di rappresentare in modo molto bene i dati.
L’articolo fornisce le basi del suo utilizzo, sia per il linguaggio di programmazione VB.Net che per il linguaggio C#



Stesura del codice.



Dopo aver creato un progetto di tipo Silverlight, inserite nel progetto un controllo datagrid, il file xaml dovrà essere simile a questo illustrato qui di seguito.




<data:DataGrid Name="dtgDati" 

AlternatingRowBackground="Azure"  AutoGenerateColumns="True" >

</data:DataGrid>

Vediamo in dettaglio le varie proprietà impostate.
Name, imposta il nome univoco al controllo, la proprietà alternatingRowBackground, il colore di sfondo della riga, ma quella alternata, mentre la proprietà autogenerateColumns, impostata a true, fa si che le colonne vengono generate automaticamente.



Stesura del codice .Net
Passiamo in visualizzare codice. Il caricamento dei dati, avviene tramite una lista di una classe, nella quale si hanno due proprietà (nome e cognome) un modo molto semplice per visualizzare dei dati.
Qui di seguito si riporta la classe che avrà due proprietà di tipo string, visualizzando nella griglia il nome e d il cognome.



Codice VB.Net


Public Class Nominativo

        Dim m_nome As String

        Dim m_cognome As String 

        Sub New(ByVal nome As String, ByVal cognome As String)

            m_nome = nome

            m_cognome = cognome

        End Sub

        Public Property Nome() As String

            Get

                Return m_nome

            End Get

            Set(ByVal value As String)

                m_nome = value

            End Set

        End Property

        Public Property Cognome() As String

            Get

                Return m_cognome

            End Get

            Set(ByVal value As String)

                m_cognome = value

            End Set

        End Property

    End Class



Codice C#




public class Nominativo

        {

            string m_nome;

            public string Nome

            {

                get { return m_nome; }

                set { m_nome = value; }

            }

            string m_cognome;

            public string Cognome

            {

                get { return m_cognome; }

                set { m_cognome = value; }

            }

            public Nominativo(string nome, string cognome)

            {

                this.m_nome = nome;

                this.m_cognome = cognome;

            }

        }



Creata la classe, dobbiamo creare una funzione che crea una lista di tale classe, valorizzata con opportuni dati, tale lista viene caricata nel controllo datagrid, impostando la proprietà ItemsSource del datagrid con l’oggetto lista creato. Qui di seguito si riporta il listato di tali operazioni




Codice VB.Net




Private Sub CaricaDati()

        Dim Nominativi As New List(Of Nominativo)

        Nominativi.Add(New Nominativo("Emanuele", "Mattei"))

        Nominativi.Add(New Nominativo("Pinos", "Maffei"))

        dtgDati.ItemsSource = Nominativi

    End Sub



Codice C#




private void CaricaDati()

        {

            List nominativi = new List();

            nominativi.Add(new Nominativo("Emanuele", "Mattei"));

            nominativi.Add(new Nominativo("Pinos", "Maffei"));

            dtgDati.ItemsSource = nominativi;

        }

Ora non ci resta che avviare il progetto per vedere il caricamento della griglia con i dati impostati.



Conclusioni.
L’articolo ha fornito delle semplici basi sull’utilizzo di questo controllo, proprio per avvicinare il lettore all’uso del datagrid che fornisce al programmatore molta autonomia.
Per la gestione dei dati, possiamo utilizzare una fonte dati come un file xml e linq, oppure un servizio (WCF).

Nessun commento: