Numerar las líneas del encabezado de fila en un DataGridView
Usuario anónimo
-
Usuario anónimo -
Usuario anónimo -
¡Hola!
Les doy el truco para numerar las líneas de un DataGridView en VB 2008.
HeaderCell.Value debe ser obligatoriamente texto, por lo que haremos una transformación de la variable I "Integer" a "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
He puesto CStr(I + 1) para que empiece en 1 y no en cero. :)
Si pones "DataGridView1.Rows(I).HeaderCell.Value = I + 1" no verás nada.
Eso es todo. Espero haberles ayudado.
Les doy el truco para numerar las líneas de un DataGridView en VB 2008.
HeaderCell.Value debe ser obligatoriamente texto, por lo que haremos una transformación de la variable I "Integer" a "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
He puesto CStr(I + 1) para que empiece en 1 y no en cero. :)
Si pones "DataGridView1.Rows(I).HeaderCell.Value = I + 1" no verás nada.
Eso es todo. Espero haberles ayudado.
3 respuestas
-
Hola,
Tenga en cuenta que la instrucción "Cstr" es una instrucción que proviene de VB6
Por compatibilidad, .Net reconoce la instrucción.
Propuesta:
Sería deseable utilizar una instrucción de VB.Net
Convert.ToString(I + 1)
K -
Lo mismo ocurre con la declaración:
Dim I as Integer
Si escribe la instrucción:
Convert.
Verá que la palabra Integer no aparece, es Int32
así como
Dim I As Long
Convert.ToInt64
No encontrará
Convert.ToLong
K -
Re : Para una buena contabilidad del proyecto con VB 2008 o VB 2012, haz lo siguiente :
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
Para resumir, Int32 reemplaza a Integer y Convert.ToString reemplaza a CStr.