C#

Como numerar linhas do dataGridView em C#

Se você está desenvolvendo uma aplicação Windows Forms em C# e utiliza o controle DataGridView, pode ser útil numerar as linhas para facilitar a visualização e a navegação dos dados. Neste post, vamos explorar como numerar linhas do dataGridView em C#.

Passo a passo para numerar linhas no dataGridView

  1. Criar um novo projeto

    • Abra o Visual Studio e crie um novo projeto Windows Forms.

  2. Adicionar um DataGridView

    • Arraste e solte um controle DataGridView na sua forma a partir da Toolbox;

    • Ajuste o tamanho conforme necessário.

  3. Preencher o DataGridView com dados

    • Você pode preencher o DataGridView manualmente ou por meio de uma fonte de dados. Para este exemplo, usaremos um DataTable como fonte.

  4. Adicionar uma coluna para numeração

    • Adicione uma nova coluna ao DataGridView que será usada para exibir os números das linhas.

  5. Implementar a lógica para numeração

    • Utilize o evento CellFormatting ou RowPostPaint para numerar as linhas. Aqui, optaremos pelo RowPostPaint, que é mais apropriado para este caso.

Exemplo de código

Aqui está um exemplo de como implementar a numeração de linhas:

using System;
using System.Data;
using System.Drawing;
using System.Windows.Forms;

namespace NumeracaoDataGridView
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            LoadData();
        }

        private void LoadData()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("Nome");
            dt.Columns.Add("Idade");

            // Adicionando dados fictícios
            dt.Rows.Add("Alice", 25);
            dt.Rows.Add("Bob", 30);
            dt.Rows.Add("Charlie", 35);

            dataGridView1.DataSource = dt;

            // Adicionando uma coluna para a numeração
            DataGridViewColumn numberColumn = new DataGridViewTextBoxColumn();
            numberColumn.HeaderText = "Nº";
            numberColumn.Width = 50;
            numberColumn.ReadOnly = true;
            dataGridView1.Columns.Insert(0, numberColumn);
        }

        private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
        {
            // Numerando as linhas
            using (SolidBrush b = new SolidBrush(dataGridView1.RowHeadersDefaultCellStyle.ForeColor))
            {
                e.Graphics.DrawString((e.RowIndex + 1).ToString(), 
                    dataGridView1.RowHeadersDefaultCellStyle.Font, 
                    b, 
                    e.RowBounds.Location.X + 15, 
                    e.RowBounds.Location.Y + 4);
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Associar o evento RowPostPaint
            dataGridView1.RowPostPaint += new DataGridViewRowPostPaintEventHandler(dataGridView1_RowPostPaint);
        }
    }
}

Explicação do código

  • LoadData: Preenche o DataGridView com dados fictícios e adiciona uma coluna para a numeração;

  • dataGridView1_RowPostPaint: Este evento é chamado após a pintura de cada linha. Ele usa a função DrawString para desenhar o número da linha na célula do cabeçalho da linha;

  • Form1_Load: Aqui, você associa o evento RowPostPaint ao DataGridView.

Outro exemplo prático

Para numerar as linhas de um componente dataGridView e mostrar as numerações do 1 até a quantidade total de registros nas Rows, insira o método abaixo em seu código e informe o parâmetro do tipo DataGridView:

public void AutoNumberRowsForGridView(DataGridView dataGridView) { 

  if (dataGridView != null) {
    for (int count = 0; (count <= (dataGridView.Rows.Count - 1)); count++) {
     dataGridView.Rows[count].HeaderCell.Value = string.Format((count + 1).ToString(), "0");
    }		    
  } 

Numerar as linhas de um DataGridView em C# é uma tarefa simples que pode melhorar significativamente a usabilidade da sua aplicação.

Ao seguir os passos acima, você poderá adicionar facilmente uma coluna de numeração e personalizar a exibição conforme necessário. Essa abordagem garante que as linhas sejam numeradas automaticamente, mesmo que os dados sejam alterados dinamicamente.

Aprenda do zero ou aprimore seus conhecimentos em C#. Domine os conceitos de Orientação a Objetos e crie sistemas complexos integrados com banco de dados.

CONHEÇA O CURSO COMPLETO DE C# COM + DE 100 AULAS PRÁTICAS. Tenha acesso vitalício e certificado de conclusão.

CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:

Link do curso: https://go.hotmart.com/L70031146H


Dúvidas ou sugestões sobre como numerar linhas do dataGridView em C#? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
 https://youtube.com/criandobits

Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *