:D
Estás asignando la columna de la celda activa, que en los 3 casos es la misma celda, y por lo tanto te devuelve el mismo índice de columna:
Citar Dim Col1 As Integer = Me.DataGridView1.CurrentCell.ColumnIndex
Dim Col3 As Integer = Me.DataGridView1.CurrentCell.ColumnIndex
Dim Col5 As Integer = Me.DataGridView1.CurrentCell.ColumnIndex
¿Que problema encuentras en asignar directamente el valor, de esta manera?:
Dim Col1 As Integer = &H1
Dim Col3 As Integer = &H3
Dim Col5 As Integer = &H5
Además de eso, te sugiero NO utilizar la función Val, ya que forma parte de VB6, y esto es VB.Net. Para sacar el máximo beneficio al lenguaje que estás utilizando, en su lugar deberías usar el método Parse/TryParse del DataType correspondiente ( ej: Double.TryParse("") ).
Saludos!
hola, al colocar eso de &H1, &H3, &H5
me sale error en esta parte Me.Label5.Text = Total.ToString
Dim Total2 As Single
Dim Col5 As Integer = &H5
For Each row As DataGridViewRow In Me.DataGridView1.Rows
Total2 += Val(row.Cells(Col5).Value)
me dice que "El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección. Nombre del parámetro: index"
Cita de: CRIPLATA en 15 Diciembre 2014, 23:22 PMme dice que "El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección. Nombre del parámetro: index"
Es porque el índice en .Net está basado en "0", no empieza por "1". por ende no puedes acceder a la columna 5, ya que el rango de columnas son 4 (0, 1, 2, 3, 4).
Disminúyele un número a los índices como hiciste con las filas, y ya está:
Dim Col1 As Integer = &H0I
Dim Col3 As Integer = &H2I
Dim Col5 As Integer = &H4I
Te muestro el ejemplo completo:
Const ColIndex1 As Integer = &H0I
Const ColIndex3 As Integer = &H2I
Const ColIndex5 As Integer = &H4I
Dim totalCol1 As Integer, totalCol3 As Integer, totalCol5 As Integer
For Each row As DataGridViewRow In Me.DataGridView1.Rows
totalCol1 += CType(row.Cells(ColIndex1).Value, Integer)
totalCol3 += CType(row.Cells(ColIndex3).Value, Integer)
totalCol5 += CType(row.Cells(ColIndex5).Value, Integer)
Next row
Label4.Text = String.Format("La suma de los valores de la columna 1 es de: {0}", CStr(totalCol1))
Label5.Text = String.Format("La suma de los valores de la columna 3 es de: {0}", CStr(totalCol3))
Label6.Text = String.Format("La suma de los valores de la columna 5 es de: {0}", CStr(totalCol5))
Saludos
hola, muchas gracias, es que me dejaron un trabajo y fue poca la información que enseño el profesor.... , no soy programador y la profesora me esta matando con este trabajo, ya tengo los otros dos puntos del taller, pero este tema de matrices no enseño bien... y que pena por este otro ejercicio
Pedir al usuario el número de filas y de columnas de una matriz bidimensional y asignar a cada posición el valor resultante de sumar la fila y la columna en la que se encuentra.
Utilizar datagridview para imprimir los datos de la matriz.
con lo que tengo asta el momento ya puedo crear la matriz como yo quiera, pero no se como llenarla de información y realizar la suma que pide, espero pueda ayudarme en eso, y disculpa por gastar un poco de su tiempo.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x, y, i, j As Integer
Dim tabla(x, y) As Integer
x = InputBox("digite el numero de filas")
y = InputBox("digite el numero de columnas")
With DataGridView1
.ColumnCount = y
.RowCount = x
.Item(i, j).Value = (i + j)
End With
End Sub
Es tarde por aquí, pero por la mañana en cuanto pueda te ayudo mostrándote un código (si no se me adelanta nadie)
saludos
gracias, pero era para hoy a las 11:pm colombia... pero con 3 puntos de 4 estoy feliz gracias por la ayuda prestada :D
Te están ayudando así que no pidas gustos en tiempos ni horas...