COMO: Popular um controle TreeView de um Dataset no Visual Basic .NET

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 320755
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.
Sumário
Este artigo passo a passo descreve como exibir dados de um dataset hierárquico, usando o controle TreeView no Microsoft Visual Basic. NET. Para fazer isso, você deve estabelece um pai, filho e neto relação e preencher o controle TreeView adequadamente. O TreeView controle tem uma coleção de nós com raiz objetos TreeNode. Cada objeto TreeNode tem sua própria coleção de nós que contém mais de um objeto de TreeNode filho. Você pode usar, em seguida, o controle TreeView para trabalhar para baixo do nó pai ou raiz para os nós filhos correspondentes e exibir os dados apropriados.

Este exemplo cria um dataset hierárquico, percorre cada tabela e adiciona nós ao controle TreeView para cada tabela filho no dataset.

back to the top

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs são necessários:
  • Microsoft Visual Studio .NET instalado em um compatível com sistema operacional Microsoft Windows
  • Um servidor SQL com o banco de dados de exemplo Northwind instalado
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • Visual Basic .NET
  • Acesso a dados ADO.NET
back to the top

Criar o projeto e adicionar código

  1. Inicie o Visual Studio.NET e crie um novo projeto Visual Basic Windows Application.
  2. Adicione uma referência a System.Data.SQLClient, adicionando a seguinte linha à parte superior do seu arquivo Form1.vb:
    Imports System.Data.SqlClient					
  3. Arraste um controle TreeView (Treeview1) da caixa de ferramentas para seu formulário (Form1).
  4. Abrir janela de código do formulário e cole o código a seguir no evento Form1_Load :
    Observação Você deve substituir USER ID < nome do usuário > e < senha de alta segurança > PASSWORD com os valores corretos. Verifique se a identificação de usuário tem as permissões apropriadas para executar essas operações no banco de dados.
            Dim DSNWind As DataSet        Dim CNnwind As New SqlClient.SqlConnection("DATA SOURCE=servername;USER ID=<username>;PASSWORD=<strong password>;INITIAL CATALOG=northwind;") '<==== CHANGE HERE         Dim DACustomers As New SqlClient.SqlDataAdapter("SELECT CustomerID, CompanyName, ContactName, Country FROM customers WHERE country = 'Germany'", CNnwind)        Dim DAOrders As New SqlClient.SqlDataAdapter("SELECT CustomerID, OrderID, OrderDate, ShippedDate, ShipVia, Freight FROM orders where customerid in (select customerid from customers where country = 'Germany')", CNnwind)        Dim DAOrderDetails As New SqlClient.SqlDataAdapter("Select * from [Order Details] where OrderID in (SELECT OrderID FROM orders where customerid in (select customerid from customers where country = 'Germany'))", CNnwind)        DSNWind = New DataSet()        CNnwind.Open()        DACustomers.Fill(DSNWind, "dtCustomers")        DAOrders.Fill(DSNWind, "dtOrders")        DAOrderDetails.Fill(DSNWind, "dtOrderDetails")        'Close the connection to the data store; free up the resources        CNnwind.Close()        'Create a data relation object to facilitate the relationship between the Customers and Orders data tables.        DSNWind.Relations.Add("CustToOrd", DSNWind.Tables("dtCustomers").Columns("CustomerID"), DSNWind.Tables("dtOrders").Columns("CustomerID"))        DSNWind.Relations.Add("OrdToDet", DSNWind.Tables("dtOrders").Columns("OrderID"), DSNWind.Tables("dtOrderdetails").Columns("OrderID"))        '''''''''''''''''''''''        TreeView1.Nodes.Clear()        Dim i, n As Integer        Dim parentrow As DataRow        Dim ParentTable As DataTable        ParentTable = DSNWind.Tables("dtCustomers")         For Each parentrow In ParentTable.Rows            Dim parentnode As TreeNode            parentnode = New TreeNode(parentrow.Item(0))            TreeView1.Nodes.Add(parentnode)            ''''populate child'''''            '''''''''''''''''''''''            Dim childrow As DataRow            Dim childnode As TreeNode            childnode = New TreeNode()            For Each childrow In parentrow.GetChildRows("CustToOrd")                childnode = parentnode.Nodes.Add(childrow(0) & " " & childrow(1) & " " & childrow(2))                childnode.Tag = childrow("OrderID")                ''''populate child2''''                ''''''''''''''''''''''''''                Dim childrow2 As DataRow                Dim childnode2 As TreeNode                childnode2 = New TreeNode()                For Each childrow2 In childrow.GetChildRows("OrdToDet")                    childnode2 = childnode.Nodes.Add(childrow2(0))                Next childrow2                ''''''''''''''''''''''''            Next childrow            '''''''''''''''        Next parentrow					
  5. Modificar a seqüência de conexão ponto a ponto ao banco de dados Northwind no seu servidor SQL.
  6. Pressione CTRL+F5 para executar o programa.
back to the top
Referências
Para obter informações adicionais sobre como preencher um controle TreeView no Visual Basic. NET, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
308063COMO: Popular um controle TreeView com dados XML no Visual Basic .NET
back to the top
relacional

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 320755 - Última Revisão: 10/31/2003 05:51:36 - Revisão: 3.0

Microsoft ADO.NET 1.1, Microsoft ADO.NET 1.0

  • kbmt kbhowtomaster KB320755 KbMtpt
Comentários