Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: CRIPLATA en 15 Diciembre 2014, 20:13 pm



Título: ayuda con suma de colomnas impares en datagridview (visual basic 2008)
Publicado por: CRIPLATA en 15 Diciembre 2014, 20:13 pm
 :D


Título: Re: ayuda con suma de colomnas impares en datagridview (visual basic 2008)
Publicado por: Eleкtro en 15 Diciembre 2014, 22:13 pm
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
Código
  1.        Dim Col1 As Integer = Me.DataGridView1.CurrentCell.ColumnIndex
  2.        Dim Col3 As Integer = Me.DataGridView1.CurrentCell.ColumnIndex
  3.        Dim Col5 As Integer = Me.DataGridView1.CurrentCell.ColumnIndex

¿Que problema encuentras en asignar directamente el valor, de esta manera?:
Código
  1.        Dim Col1 As Integer = &H1
  2.        Dim Col3 As Integer = &H3
  3.        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!


Título: Re: ayuda con suma de colomnas impares en datagridview (visual basic 2008)
Publicado por: CRIPLATA en 15 Diciembre 2014, 23:22 pm
hola, al colocar eso de &H1, &H3, &H5

me sale error en esta parte
Código:
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"


Título: Re: ayuda con suma de colomnas impares en datagridview (visual basic 2008)
Publicado por: Eleкtro en 15 Diciembre 2014, 23:52 pm
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"

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á:

Código
  1. Dim Col1 As Integer = &H0I
  2. Dim Col3 As Integer = &H2I
  3. Dim Col5 As Integer = &H4I

Te muestro el ejemplo completo:

Código
  1.        Const ColIndex1 As Integer = &H0I
  2.        Const ColIndex3 As Integer = &H2I
  3.        Const ColIndex5 As Integer = &H4I
  4.  
  5.        Dim totalCol1 As Integer, totalCol3 As Integer, totalCol5 As Integer
  6.  
  7.        For Each row As DataGridViewRow In Me.DataGridView1.Rows
  8.  
  9.            totalCol1 += CType(row.Cells(ColIndex1).Value, Integer)
  10.            totalCol3 += CType(row.Cells(ColIndex3).Value, Integer)
  11.            totalCol5 += CType(row.Cells(ColIndex5).Value, Integer)
  12.  
  13.        Next row
  14.  
  15.        Label4.Text = String.Format("La suma de los valores de la columna 1 es de: {0}", CStr(totalCol1))
  16.        Label5.Text = String.Format("La suma de los valores de la columna 3 es de: {0}", CStr(totalCol3))
  17.        Label6.Text = String.Format("La suma de los valores de la columna 5 es de: {0}", CStr(totalCol5))

Saludos


Título: Re: ayuda con suma de colomnas impares en datagridview (visual basic 2008)
Publicado por: CRIPLATA en 16 Diciembre 2014, 00:11 am
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.

Código
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.        Dim x, y, i, j As Integer
  3.        Dim tabla(x, y) As Integer
  4.        x = InputBox("digite el numero de filas")
  5.        y = InputBox("digite el numero de columnas")
  6.        With DataGridView1
  7.            .ColumnCount = y
  8.  
  9.            .RowCount = x
  10.  
  11.            .Item(i, j).Value = (i + j)
  12.  
  13.  
  14.  
  15.  
  16.        End With
  17.    End Sub


Título: Re: ayuda con suma de colomnas impares en datagridview (visual basic 2008)
Publicado por: Eleкtro en 16 Diciembre 2014, 00:19 am
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


Título: Re: ayuda con suma de colomnas impares en datagridview (visual basic 2008)
Publicado por: CRIPLATA en 16 Diciembre 2014, 00:45 am
gracias, pero era para hoy a las 11:pm colombia... pero con 3 puntos de 4 estoy feliz gracias por la ayuda prestada :D


Título: Re: ayuda con suma de colomnas impares en datagridview (visual basic 2008)
Publicado por: Yaldabaot en 19 Diciembre 2014, 16:12 pm
Te están ayudando así que no pidas gustos en tiempos ni horas...