Partilhar via


Usando a linha para novos registros in Windows Forms DataGridView controle

Quando você usa um DataGridView para edição de dados em seu aplicativo, você geralmente deseja dar aos usuários a capacidade de adiciona novas linhas de dados para o armazenamento de dados. The DataGridView controle suporta esta funcionalidade, fornecendo uma linha para novos registros, que sempre é mostrado sistema autônomo a última linha. Ela é marcada com um símbolo de asterisco em seu cabeçalho de linha.As seções a seguir abordam algumas coisas que você deve considerar quando o programa com a linha para novos registros habilitado.

Exibindo a linha para novos registros

Use o AllowUserToAddRows propriedade para indicar se a linha para novos registros é exibida. O valor padrão desta propriedade é true.

Para os dados limite caso a linha para o novo registro será exibido se o AllowUserToAddRows propriedade do controle e o IBindingList.AllowNew propriedade da fonte de dados estão ambos true. Se ambos é false em seguida, a linha não será mostrada.

Preenchendo a linha para novos registros com dados padrão

Quando o usuário seleciona a linha para novos registros sistema autônomo a linha corrente, a DataGridView controlar gera o DefaultValuesNeeded evento.

Esse evento fornece acesso à nova DataGridViewRow e permite que você popular a nova linha com os dados padrão. Para mais informações, consulte: Como: Especificar valores padrão para novas linhas in Windows Forms DataGridView controle.

A coleção Rows

A linha para novos registros contida no DataGridView do controle Rows coleção, mas tem comportamento diferente em dois aspectos:

  • A linha para novos registros não pode ser removida o Rows coleção programaticamente. An InvalidOperationException é lançada se isso é tentado. O usuário também não é possível excluir a linha para novos registros.The DataGridViewRowCollection.Clear método não remove essa linha a partir do Rows coleção.

  • Nenhuma linha pode ser adicionada depois da linha de novos registros.An InvalidOperationException é gerado se isso é tentado. sistema autônomo resultado, a linha para novos registros é sempre a última linha no DataGridView controle. Os métodos em DataGridViewRowCollection que adicionam linhas —Add, AddCopy, e AddCopies— todos chamam métodos de inserção internamente quando estiver presente na linha para novos registros.

Personalização Visual da linha de novos registros

Quando a linha para novos registros é criada, ele se baseia a linha especificada pelo RowTemplate propriedade. Qualquer estilo de célula que não está especificado para esta linha é herdado do Outros propriedades.Para obter mais informações sobre herança de estilo de célula, consulte Estilos de célula no Windows Forms DataGridView controle.

Os valores iniciais exibidos por células na linha para novos registros são recuperados de DefaultNewRowValue propriedade. Para as células do tipo DataGridViewImageCell, essa propriedade retorna uma imagem de alocador de espaço. Caso contrário, essa propriedade retornará null. Você pode substituir essa propriedade para retornar um valor personalizado.No entanto, esses valores iniciais podem ser substituídos por um DefaultValuesNeeded manipulador de eventos quando o foco entra na linha para novos registros.

Os ícones padrão para cabeçalho essa linha de, que são uma seta ou um asterisco, não estão expostos publicamente.Se você desejar personalizar os ícones, você precisará criar um personalizada DataGridViewRowHeaderCell classe.

Os ícones padrão usam o ForeColor propriedade das DataGridViewCellStyle em uso por célula de cabeçalho da linha. Os ícones padrão não são processados se não houver espaço suficiente para exibi-los completamente.

Se a célula de cabeçalho da linha tem um valor de seqüência de caracteres definido e se não houver espaço suficiente para o texto e o ícone, o ícone será descartado primeiro.

Classificação

No modo não-acoplado, novos registros sempre serão adicionados ao participante do DataGridView mesmo se o usuário tiver classificado o conteúdo das DataGridView. O usuário precisará aplicar a classificação novamente para classificar a linha na posição correta; esse comportamento é semelhante a que o ListView controle.

Dados modos acoplados e virtual, o comportamento de inserção quando uma classificar é aplicada será dependentes de implementação do modelo de dados.For ADO.NET, a linha é classificada imediatamente na posição correta.

Outras anotações na linha para novos registros

Não é possível conjunto o Visible propriedade nesta linha para false. An InvalidOperationException é gerado se isso é tentado.

A linha para novos registros sempre é criada no estado desmarcado.

Modo virtual

Se você estiver implementando o modo virtual, você precisará controlar quando uma linha para novos registros sejam necessários no modelo de dados e quando reverter a adição de linha.A implementação exata dessa funcionalidade depende a implementação do modelo de dados e sua semântica de transação, por exemplo, se o escopo de confirmar está no nível de célula ou linha.Para obter mais informações, consulte Modo virtual no Windows Forms DataGridView controle.

Consulte também

Tarefas

Como: Especificar valores padrão para novas linhas in Windows Forms DataGridView controle

Referência

DataGridView

DataGridView.DefaultValuesNeeded

Outros recursos

Entrada de dados em Windows Forms DataGridView controle