none
BindingListCollectionView mover a un items determinado RRS feed

  • Pregunta

  • Hola tengo un formulario donde me gustaria poder localizar si un registro existe y llevar al usuario a este regitro, para la navegacion tengo un BindingListCollectionView, utilizo MoveCurrentToFirst,Next,Previus,Last, estoy tratando de moverlo a una posicion determinada pero no encuentro como determinar la posicion de un registro 

    {El evento se da cuando el usuario preciona nuevo y escribe en nombre uno que ya existe, lo que deseo es que el sistema lo lleve a ese registro}

    {Lo que estoy intentando hacer es localizar el registro, esto funciona pero como identifico de cual se trata en el BindingListCollectionView ??? :

            Dim Parametros() As String
            Parametros = sender.param
            Dim Usuario = From p In _context.USUARIO.Where(sender.query.ToString, Parametros)
            ' TablaViewSource es un BindingListCollectionView 
            'No funciona
            BindingUsuario.TablaViewSource.MoveCurrentTo(Usuario)
            'Tampoco Funciona
            BindingUsuario.TablaViewSource.IndexOf(Usuario)

    }

    sábado, 22 de septiembre de 2012 15:49

Respuestas

  • Despues de mucho buscar no encontre una gran ayuda pero se me ocurrio hacer esto:

    1. Obtener el indice de la fila donde estan mis datos

    2. Ubicar el regitro en esa posiccion:

            Dim x As Integer = -1
            Dim Query = From P In BindingUsuario._Colleview.OfType(Of USUARIO)() Select New With {.Nombre = P.NOMBRE, .AdmDatos = System.Math.Max(System.Threading.Interlocked.Increment(x), x - 1)}
            Dim Index = From p In Query Where UCase(p.Nombre) = "ALEXANDER"
            For Each p In Index
                'BindingUsuario.TablaViewSource.CancelNew()
                BindingUsuario.TablaViewSource.MoveCurrentToPosition(p.AdmDatos)
            Next

    En este caso esta fijo el nombre alexander, tambien hice pruebas cambiando el orden de los datos y todo va perfecto el proceso regresa la posicion del registro sin problemas y con una buena velocidad.

    • Marcado como respuesta Alex1155 sábado, 6 de octubre de 2012 16:53
    sábado, 6 de octubre de 2012 16:53