COMO: Utilizar um controle CheckBox Web em um DataGrid no Visual Studio .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: 306227
Sumário
Use este guia passo a passo para adicionar um controle CheckBox a um controle DataGrid e vinculá-lo à tabela autores no banco de dados pubs do Microsoft SQL Server.

No Visual Studio .NET Web Forms, você pode adicionar controles para DataGrid usando o objeto TemplateColumn .

back to the top

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server ou Microsoft Windows NT 4.0 Server
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • O controle DataGrid , recuperação de dados e vinculação de dados em formulários da Web
  • Microsoft Visual Studio .NET
  • Microsoft SQL Server
back to the top

Como adicionar uma caixa de seleção a um controle DataGrid Web usando o objeto TemplateColumn

  1. Crie um novo aplicativo ASP .NET Web.
  2. No Server Explorer, crie uma conexão com o banco de dados pubs do SQL Server. Arraste a tabela autores do Server Explorer para WebForm1 para criar objetos SqlConnection1 e SqlDataAdapter1 .
  3. Clique objeto SqlDataAdapter1 com o botão direito do mouse e, em seguida, clique em Gerar conjunto de dados .
  4. Na área Escolha um DataSet , clique em novo . Para o nome, digite DsAuthors .
  5. Na seção escolher que tabelas para adicionar o DataSet , selecione a tabela autores .
  6. Clique para marque a caixa de seleção Adicionar este DataSet para o designer e, em seguida, clique em OK para criar o DataSet .
  7. Arraste um controle DataGrid da caixa de ferramentas para WebForm1 e, em seguida, defina as seguintes propriedades para a grade:
       Property Name           Value   -----------------------------   DataSource              DsAuthors1   DataMember              Authors   DataKeyField            Au_id					
  8. Adicione o seguinte código ao evento Page_Load para preencher o DataSet e vincular o DataGrid ao DataSet :
    SqlDataAdapter1.Fill(DsAuthors1)If Not IsPostBack Then    DataGrid1.DataBind()End If					
  9. Pressione F5 para compilar e executar o programa. Observe que os dados são exibidos em DataGrid .
back to the top

Como adicionar uma caixa de seleção a um controle DataGrid Web usando a interface do usuário (UI) e o objeto TemplateColumn

Depois que a configuração inicial for concluída, adicione um controle CheckBox para DataGrid e vinculá-lo para o DataSet . Para fazer isso, execute as seguintes etapas:
  1. Selecione as colunas DataGrid a ser exibido.
    1. Clique com o botão direito do DataGrid e clique em Construtor de propriedades . No painel esquerdo, clique em colunas para exibir as propriedades de colunas para DataGrid .
    2. Clique para desmarcar a caixa de seleção criar colunas automaticamente em tempo de execução .
    3. Na seção Lista de colunas , na caixa Colunas selecionadas , adicione os campos au_id e au_lname .
    4. Adicionar uma coluna de modelo para a caixa Colunas selecionadas e alterar o Texto do cabeçalho para contrato . Clique em OK para fechar o Construtor de propriedades .
  2. Edite o ColumnTemplate e vinculá-lo para o DataSet.
    1. Clique com o botão direito do DataGrid e clique em Edit Template, colunas [2] - contrato para abrir o editor de modelo.

      O editor de modelo tem quatro seções: HeaderTemplate , ItemTemplate , EditItemTemplate e FooterTemplate . Você usará a seção ItemTemplate .
    2. Use a propriedade ItemTemplate para controlar a aparência de um item de dados em TemplateColumn . Para fazer isso, crie um modelo que define como o item é exibido na coluna:
      1. Arraste um controle CheckBox da caixa de ferramentas para a seção ItemTemplate da coluna modelo.
      2. Selecione o controle CheckBox . Na janela Properties , localize a opção DataBindings . Clique no ícone para abrir a caixa de diálogo DataBindings .
      3. Na lista Bindable Properties , selecione selecionado .
      4. Na seção Limite simples , na lista DataItem, recipiente , selecione contrato . Clique em OK .

        A parte de seleção do controle CheckBox será ligada ao campo contratos , mas a parte de texto do controle CheckBox não será acoplado e aparecerá em branco.
      5. Clique Edit Template com o botão direito do mouse e clique em End Template Editing para fechar o editor TemplateColumn e para retornar para a grade.
      6. Salve e teste o aplicativo. Observe que a coluna de contrato é exibida como uma caixa de seleção e suas propriedades refletem os dados da tabela autores no banco de dados pubs do SQL Server.
back to the top

Como adicionar um CheckBox programaticamente

O código de exemplo a seguir adiciona os controles CheckBox e TemplateColumn à grade e vincula os dados por meio de programação. Primeiro, o código de exemplo adiciona um controle TemplateColumn e adiciona as caixas de seleção para a coluna modelo. Finalmente, o código adiciona um manipulador de eventos para vincular o controle CheckBox para o banco de dados.
  1. Digite ou cole o exemplo de código a seguir no evento Page_Load . O código cria um objeto TemplateColumn e define seu texto de cabeçalho.
    SqlDataAdapter1.Fill(DsAuthors1)'Create a new TemplateColumn object.Dim tcol As New TemplateColumn()With tcol    .HeaderText = "CheckBox Column"    ' Call DynamicItemTemplate to add the child controls to the Template     ' Column and bind them to the Data source.        .ItemTemplate = New DynamicItemTemplate()End WithDataGrid1.Columns.Add(tcol)If Not IsPostBack Then     DataGrid1.DataBind()End If					
  2. Digite ou cole o código a seguir após a classe Pública classe WebForm1, final .
    Public Class DynamicItemTemplate    ' ITemplate - When implemented by a class, defines the Control object    ' to which child controls and templates belong. These child controls     ' are in turn defined within an inline template.    Implements ITemplate    Public Overridable Overloads Sub InstantiateIn(ByVal container As Control) Implements ITemplate.InstantiateIn        ' InstantiateIn - When implemented by a class, defines the Control         ' object to which child controls and templates belong. These child         ' controls are, in turn, defined within an inline template.        '         ' Create an instance of a CheckBox object.        Dim oCheckBox As CheckBox = New CheckBox()        ' When the DataBinding event of the CheckBox fires, call the sub         ' BindCheckBox to properly bind.          ' AddHandler oCheckBox.DataBinding, AddressOf BindCheckBox        'Add the CheckBox to the controls collection.        container.Controls.Add(oCheckBox)    End Sub    Public Sub BindCheckBox(ByVal sender As Object, ByVal e As EventArgs)        'Create a new instance of a CheckBox.         Dim oCheckBox As CheckBox = CType(sender, CheckBox)        Dim container As DataGridItem = CType(oCheckBox.NamingContainer, DataGridItem)        'Evaluate the data from the Grid item and set the Checked property         ' appropriatly        If container.DataItem("contract").GetType.ToString = "System.DBNull" Then            oCheckBox.Checked = False        Else            oCheckBox.Checked = CBool(container.DataItem("contract"))        End If    End SubEnd Class						
    Observação : O código de ligação é comentado para tornar mais fácil de entender o processo.
  3. Salve e execute o código. Observe que a coluna do modelo e controles CheckBox não acoplados foram adicionados.


back to the top

Como iterar o controle para testar o valor de CheckBox

Descomente a linha de código no exemplo de código mencionadas a seguir:
  'AddHandler oCheckBox.DataBinding, AddressOf BindCheckBox				
esta linha chama o manipulador de eventos, Public Sub BindCheckBox , quando o evento DataBinding do controle CheckBox é executado. O procedimento BindCheckBox avalia os dados e corretamente define a propriedade selecionado da caixa de seleção atual. Observe que o procedimento é chamado para cada linha na grade como DataGrid vincula cada linha.

back to the top
Referências
Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
316649Como usar o Server Explorer no Visual Studio .NET e Visual Studio 2005
308656COMO: Abrir um banco de dados SQL Server usando o provedor de dados .NET do SQL Server com o Visual Basic .NET
307860INFO: Dados do ASP.NET Visão geral de vinculação
308485COMO: Criar uma página mestre/detalhes com controles de formulário da Web
317878PROBLEMA: DataGrid Web Server Control não exibe "<" e ">" caracteres corretamente
back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 306227 - Última Revisão: 05/02/2006 04:04:38 - Revisão: 3.4

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0, Microsoft ADO.NET 1.1, Microsoft ADO.NET 1.0

  • kbmt kbhowtomaster KB306227 KbMtpt
Comentários