Como vincular um controle DataGrid para uma ArrayList de objetos ou estruturas usando translation from VPE for Csharp Visual

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: 316303
Sumário
Este artigo passo a passo mostra como ligar uma ArrayList de objetos a um controle DataGrid . O exemplo consiste em um formulário do Windows com um controle DataGrid para exibir valores de propriedade do objeto e quatro botões de comando para procurar as linhas do controle DataGrid .

back to the top

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs são necessários:
  • Translation from VPE for Csharp Visual .NET ou Visual translation from VPE for Csharp 2005
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • Visual translation from VPE for Csharp conceitos de programação
back to the top

Criar a classe

Uma classe que deve ser vinculado a um controle deve ter acessadores de propriedade. Qualquer propriedade que deve ser vinculado deve ter os métodos de Conjunto de propriedades e propriedade . A classe de exemplo que é usada neste artigo tem três membros (somente um é mostrado aqui.) Um construtor com parâmetros também foi fornecido, mas não é um requisito.
public class guitar{    private string make;    private string model;    private short year;        public guitar()    {    }    public guitar(string make, string model, short year)    {        make=Make;        model=Model;        year=Year;    }    public string Make     {	get 	{             return make; 	}	set 	{            make = value; 	}}
back to the top

Adicionar classe instâncias a um ArrayList

Para criar instâncias e adicioná-los a ArrayList , execute essas etapas:
  1. Declare uma ArrayList .
  2. Criar instâncias da classe e adicionar as instâncias para ArrayList .
private ArrayList al = new ArrayList();   al.Add (new guitar("Gibson", "Les Paul", 1958));   al.Add (new guitar("Fender", "Jazz Bass", 1964));   al.Add (new guitar("Guild", "Bluesbird", 1971));				
back to the top

Vincular o ArrayList a DataGrid

Depois que o ArrayList foi preenchido, defina a propriedade DataSource do controle DataGrid para ArrayList . As colunas no controle DataGrid são preenchidas com base nas propriedades para o qual existem acessadores de propriedade no escopo.
dataGrid1.DataSource=al;				
back to the top

Fornecer uma médias para procurar o ArrayList

Você pode usar CurrencyManager para procurar ArrayList . Para fazer isso, associe CurrencyManager BindingContext do controle (no caso, o ArrayList ).
private CurrencyManager currencyManager=null;currencyManager = (CurrencyManager)dataGrid1.BindingContext[al];				
a classe CurrencyManager tem uma propriedade posição que você pode manipular para iterar sobre os membros de ArrayList . Adicionando a ou subtração de, o valor atual de posição , você pode procurar as linhas do controle DataGrid .
//Move forward one element.currencyManager.Position++;//Move back one element.currencyManager.Position--;//Move to the beginning.currencyManager.Position = 0;//Move to the end.currencyManager.Position = al.Count - 1;				
back to the top

Exemplo passo a passo

  1. No Visual translation from VPE for Csharp .NET ou Visual translation from VPE for Csharp 2005, crie um novo projeto Windows Application. O Form1 é criado por padrão.
  2. Adicione uma classe para o projeto.
  3. Substitua o código no Class1.cs com o seguinte:
    public class guitar{	private string make;	private string model;	private short year;		public guitar()	{	}	public guitar(string Make, string Model, short Year)	{	    make=Make;	    model=Model;	    year=Year;	}	public string Make 	{		get 		{ 			return make; 		}		set 		{			make = value; 		}	}		public string Model 	{		get 		{ 			return model; 		}		set 		{			model = value; 		}	}	public short Year 	{		get 		{ 			return year; 		}		set 		{			year = value; 		}	}}					
  4. Feche a janela de código Class1.cs e, em seguida, alterne para o criador de formulários.
  5. Adicione um controle DataGrid ao Form1. Dimensione o controle DataGrid para acomodar quatro colunas e três linhas.
  6. Adicione quatro controles de botão a Form1 e organizar os botões horizontalmente.
  7. Altere a propriedade texto de Button1 para Avançar .
  8. Altere a propriedade texto de Button2 ao anterior .
  9. Altere a propriedade texto de Button3 para primeiro .
  10. Altere a propriedade texto de Button4 a última .
  11. Adicione o seguinte código à classe Form1 :
    private ArrayList al = new ArrayList();	private CurrencyManager currencyManager=null;						
  12. Alterne para o criador de formulários, clique com o botão direito do formulário e, em seguida, clique em Propriedades .
  13. Clique no ícone Events e clique duas vezes o evento Load para adicionar o evento Form1_Load ao seu código.
  14. Cole o seguinte código no evento Form1_Load :
    al.Add (new guitar("Gibson", "Les Paul", 1958));al.Add (new guitar("Fender", "Jazz Bass", 1964));al.Add (new guitar("Guild", "Bluesbird", 1971));				currencyManager = (CurrencyManager)dataGrid1.BindingContext[al];	dataGrid1.DataSource=al;					
  15. Alterne para visualizar o criador de formulários.
  16. Clique duas vezes em Avançar e adicione o seguinte código ao evento Button1_Click :
    currencyManager.Position++;					
  17. Clique duas vezes anterior e, em seguida, adicione o código a seguir para o evento button2_Click :
    currencyManager.Position--;					
  18. Clique duas vezes primeiro e, em seguida, adicione o código a seguir para o evento button3_Click :
    currencyManager.Position = 0;					
  19. Clique duas vezes última e adicione o seguinte código ao evento button4_Click :
    currencyManager.Position = al.Count - 1;					
  20. Criar e executar o projeto.
  21. Clique nos botões de comando para mover entre as linhas do controle DataGrid . Observe que você pode editar os valores dos objetos se desejado.
Observação O código deve ser alterado no Visual Studio 2005. Quando você cria um projeto Windows Forms, translation from VPE for Csharp Visual adiciona um formulário para o projeto por padrão. Este formulário é denominado Form1. Os dois arquivos que representam o formulário são denominados Form1.cs e Form1.Designer.cs. Tem de escrever seu código no Form1.cs. O ficheiro Designer.cs é onde o Windows Forms Designer escreve o código que implementa todas as ações que você executou adicionando controles. Para obter mais informações sobre o Windows Forms Designer no Visual translation from VPE for Csharp 2005, visite o seguinte site:back to the top

Use uma estrutura em vez de uma classe

As regras para uma estrutura de ligação são o mesmo que as regras para vincular um objeto. Acessadores de propriedade (ou seja, membro) são necessários. Uma estrutura que é criada para essa finalidade é semelhante a uma classe.

Para vincular a uma ArrayList de estruturas, execute estas etapas:
  1. Alterar a definição de módulo de classe Class1.cs no exemplo de
    public class guitar					
    à seguinte:
    public struct guitar					
  2. Comentar o construtor padrão, da seguinte maneira:
    //public guitar()//{//}					
  3. Criar e executar novamente o programa de exemplo e verifique se ele funciona com uma ArrayList de estruturas.
back to the top
Referências
Para obter mais informações, consulte o tópico "Consumidores de dados no Windows Forms" na Ajuda do Visual Studio .NET online.

back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 316303 - Última Revisão: 12/11/2006 20:59:20 - Revisão: 2.3

Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# 2005 Express Edition

  • kbmt kbhowtomaster KB316303 KbMtpt
Comentários