Neste artigo iremos abordar a exibição de dados em controles na nossa aplicação. Utilizaremos formas simples de recuperação de dados.
Controle DataGrid
O controle inicial utilizado para exibir dados em nossa aplicação será o DataGrid. Para possibilitar o uso deste controle é necessario habilitar a referencia ao assembly dos Silverlight Data Controls:
xmlns:my="clr-namespace:System.Windows.Controls;
assembly=System.Windows.Controls.Data"
O DataGrid nos permite configurar explicitamente as declarações de colunas e os tipos a serem exibidos. Uma facilidade trazida pelo DataGrid é que podemos simplesmente definir a propriedade “AutoGenerateColumns=true” para que ele por reflexão da fonte dos dados nos crie as colunas baseado no esquema dos objetos fonte.
Para demonstrar isto iremos criar uma classe chamada CD com a definição mostrada a seguir:
public class CD { public string NomeAlbum { get; set; } public string NomeArtista { get; set; } public string URLImagem { get; set; } public int Pontos { get; set; } } |
Desta forma podemos gerar um método que retorna um de vetor de CDs:
public static CD[] GerarAlbuns() { return new CD[] { new CD() { NomeAlbum = "Album 1", NomeArtista = "Artista 1" }, new CD() { NomeAlbum = "Album 2", NomeArtista = "Artista 2" }, new CD() { NomeAlbum = "Album 3", NomeArtista = "Artista 3" }, new CD() { NomeAlbum = "Album 4", NomeArtista = "Artista 4" }, new CD() { NomeAlbum = "Album 5", NomeArtista = "Artista 5" }, }; }
Agora que temos uma fonte de dados preparada, vamos preparar o projeto para exibir estes dados na tela para nós. Para facilitar esta exibição usaremos o DataGrid com a propriedade “AutoGenerateColumns=true”. O código a seguir deve ser utilizado na Page.xaml
<UserControl xmlns:my="clr-namespace:System.Windows.Controls;
assembly=System.Windows.Controls.Data" x:Class="MeuSilverlight.Page" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="640" Height="480" Loaded="UserControl_Loaded"> <my:DataGrid x:Name="GridAlbuns" Grid.Row="1" Margin="5"
AutoGenerateColumns="True"> </my:DataGrid> </UserControl>
Vale notar que o evento Loaded já está definindo a chamada pra “UserControl_Loaded” e é nesta chamada que efetuaremos a passagem dos dados do método “GerarAlbuns()” para o DataGrid que no nosso projeto tem seu nome definido como GridAlbuns.
Para exibir os dados do método “GerarAlbuns()” no DataGrid GridAlbuns definimos seu “ItemsSource” utilizando o seguinte código no arquivo Page.xaml.cs:
private void UserControl_Loaded(object sender, RoutedEventArgs e) { GridAlbuns.ItemsSource = CD.GerarAlbuns(); }
O resultado que obtemos será:
2 comentários :
Gridview rules!!! =)
Queremos a parte 2 (:
Postar um comentário