Partilhar via


Visão geral do controle DataList do servidor Web

O controle de servidor Web DataList exibe linhas de informações do banco de dados em um formato personalizável.O formato para exibição dos dados é definido em modelos que você cria.Você pode criar modelos para itens, alternando itens, selecionados itens, e editando itens.Cabeçalho, rodapé e modelos de separação também estão disponíveis para permitir que você personalize a aparência geral do DataList.Incluindo controles do servidor Web Button nos modelos, você pode conectar os itens da lista a código que permita aos usuários alternar entre os modos de exibição, seleção e edição.

Esse tópico contém:

  • Segundo plano

  • Exemplos de código

  • Referência de Classe

Segundo plano

O controle de servidor Web DataList exibe dados em um formato que você pode definir usando modelos e estilos.O controle DataList é útil para dados em qualquer estrutura de repetição, como uma tabela.O controle DataList pode exibir linhas em diferentes layouts, como ordená-las em colunas ou linhas.

Observação:

O controle DataList processa os itens de uma lista usando elementos de tabela HTML.Para controlar com precisão o HTML que é usado para processar uma lista, use o controle de servidor Web Repeater em vez do controle DataList.

Opcionalmente, você pode configurar o controle DataList para permitir que os usuários editem ou excluam informações.Você também pode personalizar o controle para oferecer suporte a outras funcionalidades, como selecionar linhas.

Você usa modelos para definir o layout dos itens de dados, incluindo texto HTML e controles.Por exemplo, você pode usar um controle de servidor Web Label em um item para exibir um campo a partir da fonte de dados.

As seções a seguir apresentam a você os recursos do controle DataList.

Vinculando dados ao controle

O controle de servidor Web DataList deve ser vinculado a um fonte de dados.A fonte de dados mais comum é um controle de fonte de dados, como um controle SqlDataSource ou ObjectDataSource.Como alternativa, você pode acoplar um controle DataList para qualquer classe que implementa a interface IEnumerable, que inclui o ADO.NET DataSets (a classe DataSet), leitores de dados (as classes SqlDataReader ou OleDbDataReader), ou a maioria das coleções.Ao vincular dados, você especifica um fonte de dados para o controle DataList como um todo.Quando você adiciona outros controles a esse controle — por exemplo, etiquetas ou caixas de texto em itens de lista — você pode vincular propriedades dos controles filho a campos no item de dados atual.

Definindo modelos de itens DataList

No controle DataList, você pode definir o layout de suas informações usando modelos.

Observação:

Para obter uma visão geral sobre o uso de modelos, consulte Modelos de controles servidores web ASP.NET.

A tabela a seguir descreve os modelos que são suportados pelo controle DataList.

Propriedade do modelo

Descrição

ItemTemplate

Contém os elementos HTML e controles para processar uma vez para cada linha em uma fonte de dados.

AlternatingItemTemplate

Contém os elementos HTML e controles para processar uma vez para cada outra linha em uma fonte de dados.Normalmente, você usa esse modelo para criar uma aparência diferente para as linhas alternadas, como uma cor do plano de fundo diferente do que a cor que é especificada na propriedade ItemTemplate.

SelectedItemTemplate

Contém os elementos para processar quando o usuário seleciona um item no controle DataList.Normalmente, você usar este modelo para distinguir visualmente a linha selecionada com um plano de fundo ou a cor da fonte diferente.Também é possível expandir o item ao exibir campos adicionais a partir de fonte de dados.

EditItemTemplate

Especifica o layout de um item quando ele estiver em modo de edição.Este modelo geralmente contém controles de edição, como controles TextBox.

HeaderTemplate e FooterTemplate

Contém o texto e controles para processar no início e fim da lista, respectivamente.

SeparatorTemplate

Contém os elementos para processar entre cada item.Um exemplo típico pode ser uma linha (usando um elemento HR).

Estilos

Para especificar a aparência dos itens em um modelo, você pode definir estilo do modelo.Por exemplo, você pode especificar o seguinte:

  • Os itens são processados com texto preto em um plano de fundo branco.

  • Itens alternantes são processados com texto preto em um plano de fundo cinza claro.

  • O item selecionado é processado com texto em negrito, preto em um plano de fundo amarelo.

  • Itens que estão sendo editados são processados com texto preto sobre um plano de fundo azul claro.

Cada modelo oferece suporte ao seu próprio estilo de objeto, as propriedades dos quais você pode definir em tempo de design e tempo de execução.Você pode trabalhar com os seguintes estilos:

Para obter mais informações, consulte Controle de Servidor Web do ASP.NET e Estilos CSS.

Layout de item

O controle DataList usa uma tabela HTML para dispor o processamento de itens para o qual o modelo é aplicado.Você pode controlar a ordem, direção e número de colunas para as células individuais da tabela usadas para processar os itens DataList.A tabela a seguir descreve os modelos que são suportados pelo controle DataList.

Opção de Layout

Descrição

Layout de fluxo

No layout de fluxo, itens de lista são processados embutidos, como em um documento de processamento de texto.

Layout da tabela

No layout da tabela, os itens são processados em uma tabela HTML.Isso oferece mais opções para especificar a aparência de itens, pois ele permite que você defina propriedades de tabela de célula, como linhas de grade.Para obter detalhes, consulte:Como: Especifique fluxo ou formato de tabela in DataList servidor Web Controls.

Layout vertical e horizontal

Por padrão, os itens em um controle DataList são exibidos em uma única coluna vertical.No entanto, você pode especificar que o controle contenha mais de uma coluna.Se assim, você pode mais especificar se os itens são ordenados verticalmente (como colunas de jornal) ou horizontalmente (como dias em um calendário).Para obter detalhes, consulte:Como: Especifica horizontal ou layout vertical em controles DataList do servidor Web.

Número de colunas

Se itens em um controle DataList são ordenados verticalmente ou horizontalmente, você pode especificar quantas colunas terá a lista.Isso permite que você controle a largura processada do página da Web, geralmente para evitar a rolagem horizontal.

Eventos

O controle DataList suporta vários eventos.Um deles, o evento ItemCreated, oferece uma maneira para personalizar o processo de criação item no tempo de execução.O evento ItemDataBound também lhe permite personalizar o controle DataList, mas após os dados estarem disponíveis para a inspeção.Por exemplo, se você estiver usando o controle DataList para exibir uma lista de tarefas, você pode exibir itens atrasados em texto vermelho, itens concluídos em texto preto e outras tarefas em texto verde.O evento pode ser usado para substituir formatação da definição do modelo.

Os eventos restantes são gerados em resposta a cliques de botão em itens de lista.Eles são criados para ajudar você a responder a funcionalidade do controle DataList mais comumente usada.Quatro eventos desse tipo são suportados:

Para fazer com que esses eventos sejam gerado, adicione controles Button, LinkButton ou ImageButton para os modelos no controle DataList e defina a propriedade CommandNamedos botões para uma palavra-chave, como edit, delete, update ou cancel.Quando um usuário clica em um botão em um item, o evento é enviado ao recipiente do botão — o controle DataList.O evento exato que gera o botão depende do valor da propriedade CommandName do botão que foi clicado.Por exemplo, se a propriedade CommandName de um botão é definida como edit, o botão gera um evento EditCommand quando clicado.Se a propriedade CommandName é definida como delete, o botão gera um evento DeleteCommand e assim por diante.

O controle DataList também suporta o evento ItemCommand que é gerado quando um usuário clica em um botão que não tenha um comando predefinido, como edit ou delete.Você pode usar esse evento para funcionalidade personalizada definindo a propriedade CommandName de um botão para um valor que você precisa e, em seguida, testando ela no manipulador de eventos ItemCommand.Por exemplo, você pode usar essa abordagem ao selecionar um item, conforme descrito em Como: Permitir usuários selecionarem itens em controles DataList do servidor Web.

Para obter mais informações sobre eventos Web Forms, consulte Modelo de Eventos de Controle do Servidor Web ASP.NET.

Editando e selecionando itens

Você pode permitir que os usuários editem itens individuais no controle.Outros controles de dados, como os controles GridView, DetailsView e FormView, podem interagir com controles de fonte de dados para oferecer suporte a atualizações automáticas e paginação.Por outro lado, o controle DataList não pode automaticamente tirar proveito dos recursos de atualização dos controles de fonte de dados, ou de paginação ou classificação automática.Para executar atualizações, paginação e classificação utilizando o controle DataList, você deve executar a tarefa de atualização no código que você escreve.

A estratégia geral é criar um EditItemTemplate que fornece o layout apropriada e controles para edição.Você também deve fornecer uma maneira para os usuários indicarem que desejam editar o item.A maneira mais comum de fazer isso é incluir um botão no modelo de item (e se você estiver o usando na, propriedade AlternatingItemTemplate) e em seguida, definir a propriedade CommandName do botão para edit.Em seguida, quando o botão é clicado, o controle DataList gera automaticamente o evento EditCommand.No código que você escreve para o manipulador de eventos, defina o item para modo de edição, que exibe a EditItemTemplate.

O EditItemTemplate geralmente inclui botões que permitem aos usuários salvar ou descartar suas alterações (por exemplo, os botões Atualizar e Cancelar).Esses botões funcionam da mesma forma que o botão Editar — eles enviam uma mensagem predefinida de comando (update ou cancel) para o controle DataList, que gera um evento UpdateCommand ou CancelCommand a que você pode responder a adequadamente.Para obter mais informações, consulte Como: Permitir que usuários edição itens nos controles DataList do servidor Web.

O processo para selecionar um item é semelhante, usando o evento SelectedIndexChanged.Você adiciona um botão para o ItemTemplate e define sua propriedade CommandName como select.Você então escreve um manipulador de eventos para o evento SelectedIndexChanged.O evento SelectedIndexChanged é gerado quando o usuário clica no botão Selecionar.Para obter detalhes, consulte:Como: Permitir usuários selecionarem itens em controles DataList do servidor Web.Para obter mais informações, consulte Como: Permitir usuários selecionarem itens em controles DataList do servidor Web.

Voltar ao topo

Exemplos de código

Como: Especifique fluxo ou formato de tabela in DataList servidor Web Controls

Como: Especifica horizontal ou layout vertical em controles DataList do servidor Web

Como: Permitir usuários selecionarem itens em controles DataList do servidor Web

Como: Permitir que usuários edição itens nos controles DataList do servidor Web

Como: Permitir aos usuários excluir itens nos controles DataList do servidor Web

Como: Responder a eventos de botão em DataList ou Repeater itens

Como: Personalizar itens da DataList em time de execução

Como: Personalizar itens dinamicamente em DataList controle de servidor Web

Como: Criar modelos dinamicamente em controles DataList do servidor Web

Como: Adicionar controles DataList do servidor Web a uma página da Web do ASP.NET

Demonstra Passo a passo: Exibindo e formatando dados com o controle DataList do servidor Web

Voltar ao topo

Referência de Classe

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

Membro

Descrição

DataList

A classe principal para o controle.

Voltar ao topo

Consulte também

Conceitos

Visão Geral do Acesso a Dados ASP.NET

Modelos de controles servidores web ASP.NET

Outros recursos

Controles Data da Toolbox