Tipos de coluna em que o controle DataGridView do Windows Forms

O DataGridView controle usa vários tipos de coluna para exibir suas informações e permitir que os usuários modificar ou adicionar informações.

Quando você vincula um DataGridView de controle e defina a AutoGenerateColumns propriedade para true, as colunas são geradas automaticamente, usando os tipos de coluna padrão apropriados para os tipos de dados contidos na fonte de dados ligados.

Você também pode você mesmo cria instâncias de qualquer uma das classes de coluna e adicioná-los à coleção retornada pelo Columns propriedade. Você pode criar essas instâncias para uso como colunas não acopladas ou você pode ligá-los manualmente. Colunas acopladas manualmente são úteis, por exemplo, quando você deseja substituir a uma coluna gerada automaticamente de um tipo com uma coluna de outro tipo.

A tabela a seguir descreve as várias classes de coluna disponíveis para uso no DataGridView de controle.

Classe

Descrição

DataGridViewTextBoxColumn

Usado com valores baseados em texto. Gerado automaticamente ao ligar para números e cadeias de caracteres.

DataGridViewCheckBoxColumn

Usado com Boolean e CheckState valores. Gerado automaticamente quando os valores desses tipos de vinculação.

DataGridViewImageColumn

Usado para exibir imagens. Gerado automaticamente ao ligar a matrizes de bytes, Image objetos, ou Icon objetos.

DataGridViewButtonColumn

Usado para exibir os botões nas células. Não gerada automaticamente quando a ligação. Normalmente usado como colunas não acopladas.

DataGridViewComboBoxColumn

Usado para exibir listas suspensas nas células. Não gerada automaticamente quando a ligação. Geralmente ligados a dados manualmente.

DataGridViewLinkColumn

Usado para exibir os links nas células. Não gerada automaticamente quando a ligação. Geralmente ligados a dados manualmente.

O tipo de coluna personalizados

Você pode criar sua própria classe de coluna por herança do DataGridViewColumn classe ou em qualquer uma de suas classes derivadas para fornecer personalizada aparência, comportamento ou controles hospedados. Para mais informações, consulte: Como: Personalizar as células e colunas no controle do Windows Forms DataGridView, estendendo o comportamento e a aparência.

Esses tipos de coluna são descritos mais detalhadamente nas seções a seguir.

DataGridViewTextBoxColumn

O DataGridViewTextBoxColumn é um tipo de coluna de uso geral para uso com valores baseados em texto, como números e cadeias de caracteres. No modo de edição, um TextBox controle é exibido na célula ativa, permitindo que os usuários modificar o valor da célula.

Os valores de célula são convertidos automaticamente para seqüências para exibição. Valores inseridos ou modificados pelo usuário são automaticamente analisadas para criar um valor de célula do tipo de dados apropriado. Você pode personalizar essas conversões pelo tratamento de CellFormatting e CellParsing eventos da DataGridView de controle.

O tipo de dados de valor da célula de uma coluna é especificado na ValueType a propriedade da coluna.

DataGridViewCheckBoxColumn

O DataGridViewCheckBoxColumn é usado com Boolean e CheckState valores. Booleanos valores são exibidos como caixas de seleção de dois ou três estados, dependendo do valor da ThreeState propriedade. Quando a coluna está vinculada a CheckState valores, o ThreeState valor da propriedade é true por padrão.

Normalmente, os valores de célula da caixa de seleção destinam para armazenamento, como qualquer outro dado, ou para executar operações em massa. Se você deseja responder imediatamente quando os usuários em uma célula da caixa de seleção, você pode manipular o CellClick evento, mas esse evento ocorre antes do valor da célula é atualizado. Se você precisar o novo valor no momento do clique, é uma opção calcular qual será o valor esperado com base no valor atual. Outra abordagem é confirmar a alteração imediatamente e tratar o CellValueChanged o evento para responder ao proprietário. Para confirmar a alteração quando a célula for clicada, você deve manipular o CurrentCellDirtyStateChanged de evento. No manipulador, se a célula atual for uma célula da caixa de seleção, chamar o CommitEdit método e passar o Commit valor.

DataGridViewImageColumn

O DataGridViewImageColumn é usado para exibir imagens. Colunas de imagem podem ser preenchidas automaticamente a partir de uma fonte de dados, preenchidas manualmente para colunas não acopladas ou preenchidas dinamicamente em um manipulador para o CellFormatting de evento.

O preenchimento automático de uma coluna de imagem de uma fonte de dados funciona com matrizes de bytes em uma variedade de formatos de imagem, incluindo todos os formatos suportados pelo Image classe e o formato de imagem OLE usados pelo Microsoft ® Access e o banco de dados de exemplo Northwind.

Preencher uma coluna de imagem manualmente é útil quando você deseja fornecer a funcionalidade de um DataGridViewButtonColumn, mas com uma aparência personalizada. Você pode manipular o DataGridView.CellClick o evento para responder a cliques dentro de uma célula de imagem.

Preenchendo as células de uma coluna de imagem em um manipulador para o CellFormatting evento é útil quando você deseja fornecer imagens para os valores calculados ou não de imagem formatos. Por exemplo, você pode ter o "Risco" valores de coluna com a seqüência de caracteres, como "high", "middle", e "low" que você deseja exibir como ícones. Como alternativa, você pode ter uma "imagem" coluna que contém os locais das imagens devem ser carregados em vez do conteúdo binário das imagens.

DataGridViewButtonColumn

Com o DataGridViewButtonColumn, você pode exibir uma coluna de células que contêm botões. Isso é útil quando você deseja fornecer uma maneira fácil para os usuários executem ações registros específicos, como, por exemplo, fazer um pedido ou a exibição de registros de filho em uma janela separada.

Colunas de botão não são geradas automaticamente quando a ligação de dados um DataGridView de controle. Usar as colunas de botão, você deve criá-las manualmente e adicioná-los à coleção retornada pelo DataGridView.Columns propriedade.

Você pode responder a cliques do usuário nas células do botão pelo tratamento de DataGridView.CellClick de evento.

DataGridViewComboBoxColumn

Com o DataGridViewComboBoxColumn, você pode exibir uma coluna de células que contêm caixas de listagem drop-down. Isso é útil para entrada de dados em campos que só pode conter valores específicos, como, por exemplo, a coluna de categoria da tabela Produtos no banco de dados de exemplo Northwind.

Você pode preencher a lista drop-down usada para todas as células da mesma maneira que você deseja preencher um ComboBox na lista suspensa, seja manualmente por meio da coleção retornada pelo Items propriedade, ou vinculando-o a uma fonte de dados por meio de DataSource, DisplayMember, e ValueMember Propriedades. Para obter mais informações, consulte ComboBox Control (Windows Forms).

Você pode vincular os valores reais de célula para a fonte de dados usada pelo DataGridView controle definindo a DataPropertyName propriedade da System.Windows.Forms.DataGridViewComboBoxColumn.

Colunas da caixa de combinação não são geradas automaticamente quando a ligação de dados um DataGridView de controle. Para usar as colunas da caixa de combinação, você deve criá-las manualmente e adicioná-los à coleção retornada pelo Columns propriedade.

DataGridViewLinkColumn

Com o DataGridViewLinkColumn, você pode exibir uma coluna de células que contêm hiperlinks. Isso é útil para os valores de URL da fonte de dados ou como uma alternativa para a coluna de botão comportamentos especiais como, por exemplo, abrir uma janela com registros filho.

Colunas de link não são geradas automaticamente quando a ligação de dados um DataGridView de controle. Para usar o link de colunas, você deve criá-las manualmente e adicioná-los à coleção retornada pelo Columns propriedade.

Você pode responder a cliques do usuário em links de manipulação de CellContentClick de evento. Este evento é distinto de CellClick e CellMouseClick eventos, que ocorrem quando um usuário clicar em qualquer lugar em uma célula.

O DataGridViewLinkColumn classe fornece várias propriedades para modificar a aparência dos links antes, durante e depois que eles são clicados.

Consulte também

Tarefas

Como: Exibir imagens em células de controle do Windows Forms DataGridView

Como: Trabalhar com colunas da imagem no Windows Forms DataGridView Control

Referência

DataGridView

DataGridViewColumn

DataGridViewButtonColumn

DataGridViewCheckBoxColumn

DataGridViewComboBoxColumn

DataGridViewImageColumn

DataGridViewTextBoxColumn

DataGridViewLinkColumn

Outros recursos

Controle DataGridView (Windows Forms)

Personalizando o controle DataGridView do Windows Forms