Share via


Criar tabelas de pesquisa em aplicativos WPF do .NET Framework

Observação

Os conjuntos de dados e as classes relacionadas são tecnologias herdadas do .NET Framework do início dos anos 2000 que permitem que os aplicativos trabalhem com dados na memória enquanto os aplicativos estão desconectados do banco de dados. Eles são bastante úteis em aplicativos que permitem que os usuários modifiquem dados e persistam as alterações no banco de dados. Embora os conjuntos de dados tenham se mostrado uma tecnologia muito bem-sucedida, é recomendado que os novos aplicativos .NET usem o Entity Framework Core. O Entity Framework proporciona uma forma mais natural de trabalhar com dados tabulares como modelos de objeto e conta com uma interface de programação mais simples.

O termo tabela de pesquisa (também conhecido como associação de pesquisa) descreve um controle que exibe informações de uma tabela de dados com base no valor de um campo de chave estrangeira em outra tabela. Você pode criar uma tabela de pesquisa arrastando o nó principal de uma tabela pai ou de um objeto da janela Fontes de Dados para um controle que já esteja associado a uma coluna ou propriedade em uma tabela filho relacionada.

Por exemplo, considere uma tabela de Orders em um banco de dados de vendas. Cada registro na tabela Orders inclui um CustomerID que indica qual cliente fez o pedido. A CustomerID é uma chave é estrangeira que aponta para um registro de cliente na tabela Customers. Ao exibir uma lista de pedidos da tabela Orders, talvez seja mais interessante exibir o nome real do cliente em vez do CustomerID. Como o nome do cliente está na tabela Customers, você precisa criar uma tabela de pesquisa para exibi-lo. A tabela de pesquisa usa o valor CustomerID no registro Orders para navegar na relação e retornar o nome do cliente.

Criar uma tabela de pesquisa

  1. Adicione um dos seguintes tipos de fontes de dados com os dados relacionados ao seu projeto:

    Observação

    Para criar uma tabela de pesquisa, duas tabelas ou objetos relacionados devem existir como uma fonte de dados para o projeto.

  2. Abra o Designer do WPF e verifique se o designer contém um contêiner que é uma reprodução automática válida para itens da janela Fontes de Dados.

    Para obter mais informações sobre reproduções automáticas válidas, consulte Associar controles WPF a dados no Visual Studio.

  3. No menu Dados, clique em Mostrar Fontes de Dados para abrir a janela Fontes de Dados.

  4. Expanda os nós na janela Fontes de Dados até que você consiga ver a tabela pai ou o objeto e a tabela ou o objeto filho relacionado.

    Observação

    A tabela ou o objeto filho relacionado é o nó que aparece como um nó filho expansível sob a tabela pai ou o objeto.

  5. Clique no menu da lista suspensa do nó filho e selecione Detalhes.

  6. Expanda o nó filho.

  7. No nó filho, clique no menu da lista suspensa do item que relaciona os dados filho e pai. (No exemplo anterior, este é o nó CustomerID). Selecione um dos seguintes tipos de controles que dão suporte à associação de pesquisa:

  8. Arraste o nó filho da janela Fontes de Dados para um contêiner no designer do WPF. (No exemplo anterior, o nó filho é o nó Pedidos).

    O Visual Studio gera o XAML que cria novos controles associados a dados para cada um dos itens que você arrasta. O XAML também adiciona um novo CollectionViewSource para a tabela filho ou o objeto aos recursos da reprodução automática. Em algumas fontes de dados, o Visual Studio também gera código para carregar dados na tabela ou no objeto. Para obter mais informações, confira Associar controles WPF a dados no Visual Studio.

  9. Arraste o nó pai da janela Fontes de Dados até o controle da associação de pesquisa criado anteriormente. (No exemplo anterior, o nó pai é o nó Clientes).

    O Visual Studio define algumas propriedades no controle para configurar a associação de pesquisa. A tabela a seguir lista as propriedades que o Visual Studio modifica. Se necessário, você pode alterar essas propriedades no XAML ou na janela Propriedades.

    Propriedade Explicação da configuração
    ItemsSource Essa propriedade especifica a coleção ou associação usada para obter os dados exibidos no controle. O Visual Studio define essa propriedade como o CollectionViewSource para os dados pai que você arrastou até o controle.
    DisplayMemberPath Essa propriedade especifica o caminho do item de dados exibido no controle. O Visual Studio define essa propriedade como a primeira coluna ou propriedade nos dados pai, após a chave primária, que tem um tipo de dados de cadeia de caracteres.

    Se você quiser exibir uma coluna ou propriedade diferente nos dados pai, altere essa propriedade para o caminho de uma propriedade diferente.
    SelectedValue O Visual Studio associa essa propriedade à coluna ou propriedade dos dados filho que você arrastou até o designer. Essa é a chave estrangeira para os dados pai.
    SelectedValuePath O Visual Studio define essa propriedade como o caminho da coluna ou propriedade dos dados filho que é a chave estrangeira para os dados pai.