none
Accéder à la cellule [-1,-1] d'un datagridview RRS feed

  • Question

  • bonjour, 

    je voudrais savoir si c'est possible d'accéder à la cellule [-1,-1] d'un datagridview, pour y ajouter du texte par exemple.

    comme sur cette image ci-dessous.

    Merci

    mercredi 18 janvier 2012 14:33

Réponses

Toutes les réponses

  • Bonjour,

    La réponse est NON : Les indexes des cellules commencent de [0, 0] et donc la cellule [-1, -1] n'existe pas.

    Pour accéder à une cellule [i, j], avec [i, j] valide : this.dataGridView1.Rows[i].Cells[j]

     

    D'une manière général en .NET, les indexes dans les collections vont de 0 à [Collection.Length -1].

     

    Mais ça ne veut pas dire qu'il n'y pas de solution à votre problème : Il suffit de nous expliquer ce que vous cherchez à faire indépendement de votre implémentation .

     

    Cordialement.


    mercredi 18 janvier 2012 15:56
    Auteur de réponse
  • Bonjour,

     

    Tu cherches a acceder a un Header et non a une cellule. Regarde du cote des Headers...


    Geoffrey { NeuroCypher } DANIEL
    mercredi 18 janvier 2012 16:09
  • En effet c'est bien un Header, et je voudrais y accéder pour y mettre du texte, jusque là je n'est rien trouver de telle qui puisse m'aider.

     

    Merci.

    mercredi 18 janvier 2012 23:14
  • Bonjour,

    La réponse est NON : Les indexes des cellules commencent de [0, 0] et donc la cellule [-1, -1] n'existe pas.

    Pour accéder à une cellule [i, j], avec [i, j] valide : this.dataGridView1.Rows[i].Cells[j]

     

    D'une manière général en .NET, les indexes dans les collections vont de 0 à [Collection.Length -1].

     

    Mais ça ne veut pas dire qu'il n'y pas de solution à votre problème : Il suffit de nous expliquer ce que vous cherchez à faire indépendement de votre implémentation .

     

    Cordialement.


    Pour accéder à une cellule quelconque dans un datagridview c'est ne pas un problème.

    Ce que je cherche à faire c'est de mettre juste du texte à ce "Header"... 

    mercredi 18 janvier 2012 23:18
  • Bonjour,
     
    Il faut programmer le dessin de la cellule.
    Le point de départ est ici :
     
    Sachant que les propriétés ColumnIndex et RowIndex de l'objet
    DataGridViewCellPaintingEventArgs peuvent être égales à -1.
     
     

    Fred
    jeudi 19 janvier 2012 05:45
  • Bonjour,

    Il est inutile de programme le dessin de la cellule, il suffit d'utiliser la propriété HeaderCell de la ligne DataGridViewRow :

    DataGridView1.Rows[indexLigne].HeaderCell.Value 
    

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    jeudi 19 janvier 2012 07:30
    Modérateur
  • Bonjour,

    Il est inutile de programme le dessin de la cellule, il suffit d'utiliser la propriété HeaderCell de la ligne DataGridViewRow :

     

    DataGridView1.Rows[indexLigne].HeaderCell.Value 
    

    L'image semble ne pas etre ne pas bien comprise, je veux acceder au header où se trouve la fleche ( avant les headercolumn et au dessus des rowheader).

    Avec votre code Gilles, cela permet d'accéder aux rowheader. Mais là je commence à penser que c'est pas accéssible cette zone.

    jeudi 19 janvier 2012 13:42
  • Bonjour,

    La suggestion de Foleide devrait marcher (CellPainting et peindre la cellule).

    Il sera toujours possible de remplacer cette méthode si qq trouve mieux ensuite mais je crois que l'on peut effectivement définir facilement le titre des colonnes et/ou des lignes mais pas celui de la colonne des titres des lignes...


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    jeudi 19 janvier 2012 15:12
    Modérateur
  • Bonjour, Hervino 14,

     

    Est-ce que vous avez testé la solution avec CellPainting ? Merci de tenir la communauté informée sur la suite de vos démarches.

     

    Cordialement,

     

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    lundi 23 janvier 2012 08:17
  • Salut, Je n'ai pas pu le faire, car le problème est que je n'arrive même pas à accéder à cette zone (pour rappel cette zone n'est ni un rowheader ni un columnheader. c'est quoi ? je ne sais pas). Pour le moment, je l'ai d'abord mis en suspens, ça retarde l'évolution de mon travail (en plus c'était juste pour faire jolie)... Merci à vous.
    lundi 23 janvier 2012 21:10