none
Como utilizar los datos de toda una columna de un Datagridview, sin conoce el numero de filas que contiene? RRS feed

  • Pregunta

  • Que tal hago esta pregunta, puesto que tengo dudas y descozno en parte. Tengo un Datagridview de 5 columnas y un numero de filas desconocido (Puede variar, ahi veces hay 5 registros o 4), entonces yo quiero utilizar los datos de todas las filas que componen a la Columna 1. Como podre hacer esa operacion, yo desconosco y solo ocupo; CurrentRow o CurrentCell pero pues solo manda el dato de la primera fila, agradezco sus colaboraciones.
    martes, 22 de septiembre de 2015 15:13

Respuestas

  • Hola Obed Velazquez,

    ¿Qué es cachar el valor? ¿Asignar el valor a una variable? ¿Asignar a un control? ¿Persistir el valor en disco?

    Por cada iteración ya tienes el valor, con el puedes hacer lo que quisieras:

    For Each row As DataGridViewRow In DataGridView1.Rows
                txtNombre.text = row.Cells(0).Value.ToString()
            Next

    Te agradeceré puedas ser mas especifico para ayudarte en tus requerimientos.

    • Marcado como respuesta Obed Velazquez martes, 22 de septiembre de 2015 18:10
    martes, 22 de septiembre de 2015 16:35
  • Hola Obed Velazquez,

    Pero ¿tendrás un gráfico enlazado sólo para el eje Y? Digo, si sólo tienes una columna entonces sólo podrás gráficar ese eje. Si quieres obtener los datos, lo puedes hacer en una lista y esa lista puedes usarlo como origen de datos para el objeto Chart.

    Dim valores As New List(Of String)()
    
    For Each row As DataGridViewRow In DataGridView1.Rows
                valores.Add = row.Cells(0).Value.ToString()
            Next

    Chart.DataSource = valores

    • Marcado como respuesta Obed Velazquez martes, 22 de septiembre de 2015 18:09
    martes, 22 de septiembre de 2015 17:35

Todas las respuestas

  • Hola

    Utilizando la propiedad DataGridView.RowCount

    Puedes tomar el tamaño de tu Grid, enseguida, si quieres acceder a alguna fila, independientemente del tamaño, puedes acceder a ella mediante el INDEX, O EL DATAKEY, O INGENIANDOTELAS MEDIANTE ALGUN CICLO.Ahora, tambien puedes usar un FOREACH para acceder a todas las filas:

    Dim row As GridViewRow
    'Recorremos todas las filas del grid'
    For Each row In MyGrid.Rows    
    'Tu funcion'
         If <CONDITION> Then
              .....
         End If
    Next

    SALUDOS


    "La vida seria mucho mas sencilla si le pudieramos hechar un ojo a su codigo fuente."

    Humberto De la Rosa
    Front END Design, Web Programmer, Android Developer


    Twitter: @bethofantoche
    Blog: Humberto Apps

    martes, 22 de septiembre de 2015 15:24
  • Hola Obed Velazquez,

    Para recorrer un objeto DGV puedes usar un iterador como foreach.  Lo que hace foreach es recorrer la colección de filas que tenga el objeto DGV. Cada ciclo retornará un objeto fila con la cual podrás acceder a cualquier columna.

    For Each row As DataGridViewRow In DataGridView1.Rows
                MessageBox.Show(row.Cells(0).Value.ToString())
            Next

    martes, 22 de septiembre de 2015 15:59
  • Que tal Williams Bueno ya adecue tu codigo, pero mi pregunta es como puedo manipular esos datos, es decir, me lee la primera fila cachar el valor, luego pasa el segundo dato, cachar el valor y asi sucesivamente. Sabrias auxiliarme.
    martes, 22 de septiembre de 2015 16:27
  • Hola Obed Velazquez,

    ¿Qué es cachar el valor? ¿Asignar el valor a una variable? ¿Asignar a un control? ¿Persistir el valor en disco?

    Por cada iteración ya tienes el valor, con el puedes hacer lo que quisieras:

    For Each row As DataGridViewRow In DataGridView1.Rows
                txtNombre.text = row.Cells(0).Value.ToString()
            Next

    Te agradeceré puedas ser mas especifico para ayudarte en tus requerimientos.

    • Marcado como respuesta Obed Velazquez martes, 22 de septiembre de 2015 18:10
    martes, 22 de septiembre de 2015 16:35
  • Disculpa Williams es que apenas estoy empezando en estos asuntos, si lo que me refiero es asignar el valor a una variable, mi caso es; que tengo una columna de con n-filas, esos numeros los quiero graficar en un objeto Chart. Por eso es mi inquietud.
    martes, 22 de septiembre de 2015 17:22
  • Hola Obed Velazquez,

    Pero ¿tendrás un gráfico enlazado sólo para el eje Y? Digo, si sólo tienes una columna entonces sólo podrás gráficar ese eje. Si quieres obtener los datos, lo puedes hacer en una lista y esa lista puedes usarlo como origen de datos para el objeto Chart.

    Dim valores As New List(Of String)()
    
    For Each row As DataGridViewRow In DataGridView1.Rows
                valores.Add = row.Cells(0).Value.ToString()
            Next

    Chart.DataSource = valores

    • Marcado como respuesta Obed Velazquez martes, 22 de septiembre de 2015 18:09
    martes, 22 de septiembre de 2015 17:35
  • Bueno ahorita estoy con un grafico de columnas, pero si la verdad me estoy dando de topes con estos detalles. Muchas gracias por tu ayuda; espero contar con tus colaboraciones en proximas dudas.
    martes, 22 de septiembre de 2015 17:49
  • Seguro, más de un miembro de este foro apoyará en tus requerimientos.

    No olvides marcar las respuestas que hayan servido para ayudar a tus requerimientos, es una manera de ordenar el foro ayudando a los demás a entender cuales son las respuestas que sirvieron y para cerrar el hilo.

    martes, 22 de septiembre de 2015 17:54