none
moverse entre filas contenidas en un datarow cuando doy click en un boton RRS feed

  • Pregunta

  • hola que tal gente, estoy atorado tengo una aplicacion en la cual las consultas las asocio a un bindingsource todo lo hago manual las conexiones a la bd, ahora bien me tome con un pequeño problema que la verdad no tengo una idea concreta de como resolverlo, bueno con las consultas no tengo problemas ya que lo hace bien, explico un poco como funciona mi aplicacion, yo para hacer un update se tienen que cumplir 3 condiciones juntas es decir:

    where id=@id and numequipo=@numequipo and numserie=@numserie para aplicar el udtade estas tres condiciones se deben cumplir, pss bueno y diran cual es el problema

    de estos tres campos a evaluar el unico que no es modificable es el campo id, ya que que el campo numequipo y numserie pueden cambiar su valor, ahora anteriormente les comentaba que hago consultas asociadas a un bindigsource y asu vez este esta asociado a un binding navigator, miren la verdad no se como explicarme porque hasta yo me estoy enredando pero ire al grano, lo que necesito saber es como obtener el total de filas contenidas en el datarrow y asu vez recorrer las filas del mismo datarow que cuando yo le de al boton siguiente o atras de mi bindingnavigator me pase a la siguiente fila y me muestre el valor del item especificado ya que necesito obtener el valor de los campos numserie y numequipo


    sonrie a la vida y con la frente en alto



    lunes, 24 de marzo de 2014 0:09

Todas las respuestas

  • que tal ya resolvi mi problema y tan facil que era y yo quebrandome la cabeza, dejo mi solucion

    primero declaro una variable de tipo integer en el cuerpo de la clase que representara el numero de indice de la fila 

    dim a as integer=0

    inicializo "a" en cero porque el indice de la primer fila es cero por lo tanto cuando cargo el formulario "a" ya es cero y mostrara los elementos contenidos en la fila cero

    luego realizo unas operaciones aritmetica muy sencillas que seran las que incrementen o decrementen "a" para recorrer hacia adelante o hacia atras las filas, las cuales quedaran dentro del objeto.

        ----si quiero que el indice se incremente o recorrer las filas hacia adelante entonces hago esto:

    Private Sub BindingNavigatorMoveNextItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorMoveNextItem.Click
            a = a + 1
            NumTransformador = DRow.Table.Rows(a).Item("NUM TRANSFORMADOR")
            Nbanco = DRow.Table.Rows(a).Item("BANCO")
            NtransformadorI = DRow.Table.Rows(a).Item("NUM TRANSFORMADOR 2")
        End Sub

        ----si quiero que el indice decremente o recorrer las filas hacia atras entonces hago esto:

    Private Sub BindingNavigatorMovePreviousItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorMovePreviousItem.Click
            a = a - 1
            NumTransformador = DRow.Table.Rows(a).Item("NUM TRANSFORMADOR")
            Nbanco = DRow.Table.Rows(a).Item("BANCO")
            NtransformadorI = DRow.Table.Rows(a).Item("NUM TRANSFORMADOR 2")
        End Sub

        ----si quiero ir a la primera fila entonces "a" siempre sera igual a cero ya que cero representa la primera fila

    Private Sub BindingNavigatorMoveFirstItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorMoveFirstItem.Click
            a = 0
            NumTransformador = DRow.Table.Rows(a).Item("NUM TRANSFORMADOR")
            Nbanco = DRow.Table.Rows(a).Item("BANCO")
            NtransformadorI = DRow.Table.Rows(a).Item("NUM TRANSFORMADOR 2")
        End Sub

    asi que no importa que valor tenga "a" o en que posicion nos encontremos cuando se produzca el evento click "a =0" y por lo tanto se mostraran los elementos contenidos en la fila 0

        ----si quiero ir a la ultima fila entonces "a" sera igual al ultimo numero de indice es decir obtengo el total de filas cargadas y se asigna a "a" restando menos un elemento

     Private Sub BindingNavigatorMoveLastItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorMoveLastItem.Click
            a = DRow.Table.Rows.Count - 1
            NumTransformador = DRow.Table.Rows(a).Item("NUM TRANSFORMADOR")
            Nbanco = DRow.Table.Rows(a).Item("BANCO")
            NtransformadorI = DRow.Table.Rows(a).Item("NUM TRANSFORMADOR 2")
        End Sub

    porque resto una unidad al total de filas, pss porque el total de la coleccion de las filas daria 3 unidades o 3 filas en total y mandaria una excepcion indicando que la fila 3 no existe o que no hay elementos en la fila 3 ya que el sistema establece por default el primer indice en 0 es decir tendria 0,1,2 filas y el valor del ultimo indice es 2 y no 3 por eso resto menos un elemento.

    bueno espero haberme explicado un poco y no enredarlos, claro los expertos ya sabran de que estoy hablando pero siempre caemos inexpertos como yo que somos de cabeza algo dura y aveces no entendemos muy bien



    sonrie a la vida y con la frente en alto




    • Editado fidel1985 domingo, 30 de marzo de 2014 1:54
    domingo, 30 de marzo de 2014 1:51