![]() |
Neste artigo vou mostrar como preencher um controle ListView com dados usando o Entity Framework, como exibir os dados selecionados em um linha do ListView e como exportar os dados para o formato texto e Excel. |
Vamos lá...
Recursos Usados
Incluindo um novo formulárioi no projeto
Abra o projeto C_ListView1 criado no artigo anterior no VS 2015 Community;
No menu Project clique em Add Windows Forms e aceite o nome Form2.cs.
Neste formulário inclua os controles :
4 Labels
4 TextBox - txtProdutoID, txtNomeProduto, txtPreco e txtEstoque
1 Button - btnSair
Disponha os controles conforme o leiaute da figura abaixo:
Vinculando os controles TextBox do formulário a fonte de dados via BindingSource
Vamos agora vincular cada controle TextBox via databinding usando o BindingSource com a nossa fonte de dados.
Selecione cada caixa de Texto e na janela de propriedades clique em DataBindings e em Text selecione a respectiva propriedade do BindingSource;
Repita essa operação para cada caixa de texto vinculando a respectiva propriedade.
Selecionando um item do ListView e exibindo os dados no segundo formulário
Agora vamos definir no evento ItemActivate do ListView - lvwDados - no formulário Form1.cs o código que vai permitir exibir os dados da linha selecionada em outro formulário.
Inclua neste evento do ListView o código abaixo:
private async void lvwDados_ItemActivate(object sender, EventArgs e)
{
if(lvwDados.SelectedItems.Count>0)
{
ListViewItem item = lvwDados.SelectedItems[0];
using (NorthwindEntities db = new NorthwindEntities())
{
string produtoId = item.SubItems[0].Text;
Product p = await db.Products.FindAsync(Convert.ToInt32(produtoId));
if(p!=null)
{
using (Form2 frm = new Form2(p))
{
frm.ShowDialog();
}
}
}
}
}
|
Vamos entender o código:
1- Verificamos se foi selecionando um item no ListView : if(lvwDados.SelectedItems.Count>0)
2- Obtemos o item selecionado - ListViewItem item = lvwDados.SelectedItems[0];
3- Criamos uma instância do modelo de entidades - using (NorthwindEntities db = new NorthwindEntities())
4- Obtemos o código do produto - string produtoId = item.SubItems[0].Text;
5- Localizamos o produto com o código selecionado - db.Products.FindAsync(Convert.ToInt32(produtoId));
6- Criamos uma instância do formulário Form2 passando o produto selecionado no seu construtor - Form2 frm = new Form2(p)
7- Exibimos a nova instância do formulário Form2 - frm.ShowDialog();
Preparando o formulário Form2 para receber os produtos e realizar o databinding
Vamos alterar o construtor do formulário Form2 para receber o produto recebido e realizar o databinding.
Inclua o código abaixo no construtor do formulário Form2:
public Form2(Product p)
{
InitializeComponent();
productBindingSource.DataSource = p;
}
|
Agora estamos pronto para testar o projeto.
Executando o projeto, preenchendo o ListView e selecionando um item iremos obter o seguinte resultado:
![]() |
Na próxima parte do artigo veremos como exportar o conteúdo do Listview para o formato texto.
Jesus dizia, pois, aos judeus que
criam nele: Se vós permanecerdes na minha palavra, verdadeiramente sereis
meus discípulos;
E conhecereis a verdade, e a verdade vos libertará.
João 8:31,32
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Visual Studio - Dica de produtividade - Quick Launch - Macoratti.net
Visual Studio - Dica de produtividade - Nuget - Macoratti.net
Preenchendo um controle ListView com DataReader - Macoratti.net