Maison > développement back-end > C++ > Comment fusionner des cellules DataGridView dans WinForms ?

Comment fusionner des cellules DataGridView dans WinForms ?

Barbara Streisand
Libérer: 2025-01-12 15:28:43
original
180 Les gens l'ont consulté

How to Merge DataGridView Cells in WinForms?

Fusion de cellules WinForms DataGridView : guide complet

La clé pour fusionner des cellules dans DataGridView de WinForms est de rechercher et de gérer les valeurs en double. Voici les instructions étape par étape :

Trouver les valeurs en double

Définissez une méthode d'assistance pour comparer les valeurs des cellules pour l'égalité :

<code class="language-csharp">bool IsTheSameCellValue(int column, int row)
{
    DataGridViewCell cell1 = dataGridView1[column, row];
    DataGridViewCell cell2 = dataGridView1[column, row - 1];
    if (cell1.Value == null || cell2.Value == null)
    {
       return false;
    }
    return cell1.Value.ToString() == cell2.Value.ToString();
}</code>
Copier après la connexion

CellPainting

Dans l'événement CellPainting de DataGridView, ajustez le style de bordure des cellules fusionnées :

<code class="language-csharp">private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
    e.AdvancedBorderStyle.Bottom = DataGridViewAdvancedCellBorderStyle.None;
    if (e.RowIndex < 0 || e.ColumnIndex < 0)
        return;
    if (IsTheSameCellValue(e.ColumnIndex, e.RowIndex))
    {
        e.AdvancedBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.None;
    }
}</code>
Copier après la connexion

Événement de formatage de cellule (CellFormatting)

Dans l'événement CellFormatting, gérer le formatage des cellules fusionnées :

<code class="language-csharp">private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (e.RowIndex == 0)
        return;
    if (IsTheSameCellValue(e.ColumnIndex, e.RowIndex))
    {
        e.Value = "";
        e.FormattingApplied = true;
    }
}</code>
Copier après la connexion

Chargement du formulaire

Désactiver la génération automatique de colonnes :

<code class="language-csharp">private void Form1_Load(object sender, EventArgs e)
{
    dataGridView1.AutoGenerateColumns = false;
}</code>
Copier après la connexion

Grâce aux étapes ci-dessus, vous pouvez fusionner des cellules dans DataGridView pour obtenir l'effet de présentation des données souhaité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal