Partilhar via


Criar tabelas de pesquisa em aplicativos WPF do .NET Framework

Observação

A DataSet classe 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. As tecnologias são especialmente úteis para aplicativos que permitem aos usuários modificar dados e manter as alterações de volta ao banco de dados. Embora os conjuntos de dados sejam uma tecnologia comprovadamente bem-sucedida, a abordagem recomendada para novos aplicativos .NET é usar o Entity Framework Core. O Entity Framework fornece uma maneira mais natural de trabalhar com dados tabulares como modelos de objeto e tem uma interface de programação mais simples.

O termo tabela de pesquisa (às vezes chamado de 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 ou objeto pai na janela Data Sources para um controle que já está vinculado a uma coluna ou propriedade em uma tabela filha relacionada.

Por exemplo, considere uma tabela de Orders no 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 registo de cliente na tabela Customers. Ao exibir uma lista de pedidos da Orders mesa, convém exibir o nome real do cliente em vez do CustomerID. Como o nome do Customers cliente está na tabela, você precisa criar uma tabela de pesquisa para exibir o nome do cliente. A tabela de pesquisa usa o valor CustomerID no registo para navegar pela relação Orders e retornar o nome do cliente.

Para criar uma tabela de pesquisa

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

    Observação

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

  2. Abra o WPF Designer e certifique-se de que o designer contém um contêiner que seja um destino de descarte válido para itens na janela Fontes de Dados .

    Para obter mais informações sobre destinos de descarte válidos, consulte Vincular 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é ser possível ver a tabela ou objeto pai e a tabela ou objeto filho relacionado.

    Observação

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

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

  6. Expanda o nó filho.

  7. No nó filho, clique no menu da lista suspensa para o item que relaciona os dados filho e pai. (No exemplo anterior, este é o nó CustomerID .) Selecione um dos seguintes tipos de controles que oferecem suporte à vinculaçã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ó Orders.)

    O Visual Studio gera XAML que cria novos controles ligados a dados para cada um dos itens que você arrasta. O XAML também adiciona um novo CollectionViewSource para a tabela filha ou objeto aos recursos do destino de soltar. Para algumas fontes de dados, o Visual Studio também gera código para carregar dados na tabela ou objeto. Para obter mais informações, consulte Vincular controles WPF a dados no Visual Studio.

  9. Arraste o nó pai da janela Fontes de Dados para o controlo de ligação de procura que você criou anteriormente. (No exemplo anterior, o nó pai é o nó Clientes).

    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 Esta propriedade especifica a coleção ou associação que é usada para obter os dados que são exibidos no controle. O Visual Studio define essa propriedade como o CollectionViewSource para os dados pai que você arrastou para o controle.
    DisplayMemberPath Esta propriedade especifica o caminho do item de dados que é 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 vincula essa propriedade à coluna ou propriedade dos dados filho que você arrastou para o designer. Esta é a chave estrangeira para o conjunto de dados principal.
    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.