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.
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
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
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
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).