Numéroter les lignes RowHeader d'un DataGridView

Utilisateur anonyme -  
 Utilisateur anonyme -
Salut !
Je vous donne le truc pour numéroter les lignes d'un DataGridView en VB 2008.

HeaderCell.Value doit être obligatoirement du texte donc nous allons faire une transformation de la variable I "Integer" en "String" : CStr(...)

Dim I As Integer

DataGridView1.RowHeadersVisible = True
DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders

For I = 0 To DataGridView1.RowCount - 1
      If DataGridView1.Rows(I).IsNewRow = True Then Exit For
      DataGridView1.Rows(I).HeaderCell.Value = CStr(I + 1)
      DataGridView1.Rows(I).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
Next

J'ai mis CStr(I + 1) pour qu'il commence à 1 et non pas à zéro. :)
Si vous mettez "DataGridView1.Rows(I).HeaderCell.Value = I+1" vous ne verrez rien.
Voilà. En espérant vous avoir aider.

3 réponses

  1. Kalissi Messages postés 221 Statut Membre 20
     
    Bonjour,

    Noter que l'instruction "Cstr" est une instruction qui vient du VB6

    Compatibilité oblige, .Net reconnait l'instruction.

    Porposition :
    Il serait souhaitable d'utiliser une instruction VB.Net

    Convert.ToString(I + 1)

    K
    0
  2. Kalissi Messages postés 221 Statut Membre 20
     
    suite :

    Il en est de même pour la déclaration :

    Dim I as Integer

    Si vous tapez l'instruction :

    Convert.

    Vous verrez que le mot Interger n'y figure pas, c'est Int32

    tout comme

    Dim I As Long

    Convert.ToInt64

    Vous ne trouverez pas

    Convert.ToLong

    K
    0
  3. Utilisateur anonyme
     
    Re : Pour une bonne comptabilité du projet avec VB 2008 ou VB 2012, faites comme ceci :
    Dim I As Int32
    DataGridView1.Columns.Add("Test", "Test")
    DataGridView1.RowHeadersVisible = True
    DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders
    For I = 0 To 10
    DataGridView1.Rows.Add()
    Next
    For I = 0 To DataGridView1.RowCount - 1
    If DataGridView1.Rows(I).IsNewRow = True Then Exit For
    DataGridView1.Rows(I).HeaderCell.Value = Convert.ToString(I + 1)
    DataGridView1.Rows(I).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
    Next

    Pour résumer, Int32 remplace Integer et Convert.ToString remplace CStr.
    0