Visão geral do controle de servidor Web DetailsView

O controle DetailsView exibe um registro individual de uma fonte de dados em uma tabela, onde cada linha de dados representa um campo no registro.Geralmente é usado em combinação com um GridView controle para cenários de detalhes mestre.

Esse tópico contém:

  • Segundo plano

  • Exemplos de código

  • Referência de Classe

Segundo plano

O controle DetailsView lhe permite exibir, editar, inserir ou excluir um único registro de cada vez a partir de seu fonte de dados associado.Por padrão, o controle DetailsView exibe cada campo de um registro em sua própria linha.O controle DetailsView normalmente é usado para atualizar e inserir novos registros, geralmente em um cenário Mestre/Detalhes onde o registro do controle mestre selecionado determina o registro a exibir no controle DetailsView.O controle DetailsView exibe somente um único registro de dados ao mesmo tempo, mesmo se sua fonte de dados expõe vários registros.

O controle DetailsView depende das capacidades do controle da fonte de dados para executar tarefas como atualização, inserção, e exclusão de registros.O controle DetailsView não oferece suporte a classificação.

O controle DetailsView pode automaticamente paginar sobre os dados em sua fonte de dado associada, fornecendo que seus dados sejam reperesentados por um objeto que oferece suporte a interface ICollection ou que a fonte de dados subjacente suporte paginação.O controle DetailsView provê a interface com o usuário (IU) para navegação entre registros de dados.Para ativar o comportamento de paginação, defina a propriedade AllowPaging como true.

Você seleciona um determinado registro da fonte de dados associada paginando até esse registro.O registro exibido pelo controle DetailsView é o registro atual selecionado.

Vinculação de dados com o controle DetailsView

O controle DetailsView fornecerá duas opções para vinculação a dados:

  • Vinculação de dados utilizando a propriedade DataSourceID, que habilita que você vincule o controle DetailsView a um controle de fonte de dados.Essa é a abordagem recomendada porque ela permite que o controle DetailsView aproveite os recursos do controle de fonte de dados e forneça a funcionalidade interna de atualização e paginação.

  • Vinculação de dados utilizando a propriedade DataSource, que permite que você vincule os vários objetos, incluindo datasets ADO.NET e leitores de dados.Essa abordagem requer que seja escrito o código para quaisquer funcionalidades adicionais como atualização e paginação.

Quando você vincula uma fonte de dados utilizando a propriedade DataSourceID, o controle DetailsView suporta uma vinculação de dados bidirecional.Além de exibir os dados, você pode ativar o controle para suportar automaticamente a inserção, atualização, e as operações de exclusão sobre os dados acoplados.

Trabalhando com os dados do controle DetailsView

O controle DetailsViewse vincula a um controle da fonte de dados, e por sua vez manipula as tarefas de se conectar a um armazenamento de dados e retornar os dados selecionados.Vinculando o controle DetailsView aos dados é tão simples quanto a configuração da propriedade DataSourceID declarativamente.Você também pode vincular a uma fonte de dados por código.

Para ativar a edição, defina a propriedade AutoGenerateEditButton como true.O controle DetailsView irá processará um botão Edit em adição aos campos de dados.Clicar no botão Edit faz com que o controle DetailsViewentre no modo de edição.Em modo de edição, o controle DetailsView propriedade CurrentModemuda de ReadOnly para Edit e cada campo do controle processa sua edição de interface do usuário, como uma caixa de texto ou caixa de seleção.Você também pode personalizar a edição de interface do usuário usando estilos, objetos DataControlField e modelos.

Observação:

Para o controle DetailsView oferecer suporte à edição, o limite da fonte de dados deve oferecer suporte a operações de atualização nos dados.

Você pode configurar o controle DetailsView para exibir um Delete e um botão Insert para que você possa excluir o registro de dados correspondente a partir da fonte de dados ou inserir um novo registro de dados.Semelhante à propriedade AutoGenerateEditButton, quando a propriedade AutoGenerateInsertButton é definida como true no controle DetailsView, ele processa um botão New.Quando o botão New é clicado, o controle DetailsView propriedade CurrentMode muda para Insert.O controle DetailsView processa controles de entrada apropriados de interface do usuário para cada campo acoplado, a menos que a propriedade InsertVisible do campo acoplado esteja definida como false.

Personalizando a interface de usuário do controle DetailsView

O controle DetailsView suporta uma prpiedade de coleção Fields, que contém objetos DataControlField do tipo BoundField, CommandField, ou HyperLinkField.Isso é semelhante a função para a coleção Columns do controle GridView, exceto pelo fato de que o controle DetailsView processa cada campo como uma linha em vez de uma coluna.

Como o controle GridView, você também poderá personalizar a interface do usuário do controle DetailsView utilizando propriedades de estilo como HeaderStyle, RowStyle, AlternatingRowStyle, CommandRowStyle, FooterStyle, PagerStyle, e EmptyDataRowStyle.

O controle DetailsView oferece personalização adicional através de modelos, que oferecem mais controle sobre o processamento de certos elementos.Você pode definir suas próprias propriedades EmptyDataTemplate, HeaderTemplate, FooterTemplate e PagerTemplate para o controle DetailsView.Você também pode criar um modelo para um campo individual adicionando um TemplateField objeto à coleção Fields.

O controle DetailsView expõe vários eventos que você possa gerenciar para executar seu próprio código.Os eventos são disparados antes e depois das operações de inserção, atualiazação, e exclusão do controle de fonte de dados associada.Você também pode gravar manipuladores para eventos ItemCreated e ItemCommand.Para obter mais informações, consulte Eventos de controle de servidor Web DetailsView.

Observação:

O modelo de evento do controle DetailsView é semelhante do controle GridView.Contudo, o controle DetailsView não suporta um evento de seleção, devido ao registro atual ser sempre o item selecionado.

Voltar ao topo

Exemplos de código

Demonstra Passo a passo: Editando e inserindo dados em páginas da Web com o controle de servidor Web DetailsView

Passo-a-passo: recuperação, atualização, inserção e exclusão de dados com o LinqDataSource e controles DetailsView

Paginação em um Controle DetailsView do Servidor Web

Modificando Dados Usando um Controle DetailsView do Servidor Web

Criando uma linha personalizada em um controle de servidor da Web DetailsView

Voltar ao topo

Referência de Classe

A tabela seguinte lista as classes chave que estão relacionados ao controle DetailsView.

Membro

Descrição

DetailsView

A classe principal para o controle.

Voltar ao topo

Consulte também

Conceitos

Eventos de controle de servidor Web DetailsView

Visão Geral do Acesso a Dados ASP.NET

Modelos de controles servidores web ASP.NET

Referência

Visão Geral sobre o Controle do Servidor Web GridView

Outros recursos

Acessando Dados com o ASP.NET