WPF - Exibindo dados no ListView
Nesta dica eu mostro como acessar um banco de dados SQL Server (estou usando o SQL Server 2005 Express Edition) e exibir as informações em um controle ListView do WPF - Windows Presentation Foudation.
Eu estou usando os recursos do databinding da WPF; para detalhes sobre o assunto veja nas referências os meus artigos a respeito.
Abra o Visual Basic 2008 Express Edition e crie um novo projeto do tipo WPF Application com o nome BindingListView:
Nota: Eu estou usando uma versão do VB 2008 Express na qual apliquei o pacote de tradução para o português.
Será criado um projeto WPF e no descritor do WPF você deverá visualizar a área de desenho onde são usados os controles WPF e a janela de código XAML. Neste exemplo eu vou usar a janela de código XAML para criar a interface do projeto.
Para este exemplo eu vou acessar a tabela Products do banco de dados Northwind.mdf e exibir o nome do produto e seu preço.
Então digite o código em negrito abaixo na janela de código XAML entre os elementos <Grid></Grid>:
<Window x:Class="Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Relação de Produtos" Height="300" Width="300"> <Grid> <ListView Margin="25,22,17,17" Name="ListView1" Background="WhiteSmoke"> <ListView.View> <GridView > <GridViewColumn Header ="Produto" DisplayMemberBinding="{Binding ProductName}" Width="100"></GridViewColumn> <GridViewColumn Header ="Preço" DisplayMemberBinding="{Binding UnitPrice}" Width="100"></GridViewColumn> </GridView> </ListView.View> </ListView> </Grid> </Window> |
Agora temos que incluir o código no arquivo code-behind window1.xaml.vb para acessar a tabela e retornar os dados que serão vinculados no componente ListView.
XAML (pronuncia-se zamel) é a linguagem usada para criar interfaces de usuário no WPF. Ela é baseada na linguagem de marcação XML e é parecida com HTML. Além de criar interfaces ricas para o usuário com XAML podemos também representar dados como um array de strings ou uma instância de um objeto. A linguagem XAML pode ser ou compilada ou interpretada dependendo em como ela será usada. |
Abaixo temos o código do arquivo code-behind:
Imports System.Data Imports System.Data.SqlClient Class Window1 Public Sub New() InitializeComponent() Dim dt As New DataTable Dim strConn As String = "Server = .\sqlexpress;Database = NorthWind; Integrated Security = SSPI;" Dim conn As New SqlConnection(strConn) Dim da As New SqlDataAdapter("Select ProductName, UnitPrice from Products", conn) da.Fill(dt) ListView1.DataContext = dt Dim bind As New Binding ListView1.SetBinding(ListView.ItemsSourceProperty, bind) End Sub End Class |
Executando o projeto teremos o resultado mostrado a seguir:
Aguarde mais dicas sobre WPF.
Eu sei é apenas WPF, mas eu gosto...
Referências: