registro actual

10/05/2006 - 20:08 por Jose | Informe spam
Estimados tengo el siguiente codigo. Quiero saber una vez encuentre el
registro mostrar el actual. La ultima linea de codigo creo esta mal. Como es
la correcta?
Gracias de antemano,

Dim fila As DataRow

Dim llaveprimaria(0) As DataColumn

llaveprimaria(0) = dasedo.Tables("tabest").Columns("codigo")

dasedo.Tables("tabest").PrimaryKey() = llaveprimaria

fila = dasedo.Tables("tabest").Rows.Find(c_idfind)

Me.BindingContext(dasedo, "tabest").Position = 1

Preguntas similare

Leer las respuestas

#1 Carlos Gómez
10/05/2006 - 20:34 | Informe spam
Te falta guardar una referencia al objeto BindingManagerBase, que es el que
se encarga del tema position (por cierto el primer elemento es el 0 (cero)
no el 1:
...

fila = dasedo.Tables("tabest").Rows.Find(c_idfind)

'Creo que no-->Me.BindingContext(dasedo, "tabest").Position = 1


'Continua con:
Dim WithEvents bmb as BindingManagerBase
bmb = Me.BindiengContext(daseodo, "tabest")
If bmb.Count>0 Then
bmb.Position = 0
Else
MessageBox.Show("No hay registros que mostrar")
End If



Jose wrote:

Estimados tengo el siguiente codigo. Quiero saber una vez encuentre el
registro mostrar el actual. La ultima linea de codigo creo esta mal. Como
es la correcta?
Gracias de antemano,

Dim fila As DataRow

Dim llaveprimaria(0) As DataColumn

llaveprimaria(0) = dasedo.Tables("tabest").Columns("codigo")

dasedo.Tables("tabest").PrimaryKey() = llaveprimaria

fila = dasedo.Tables("tabest").Rows.Find(c_idfind)

Me.BindingContext(dasedo, "tabest").Position = 1
Respuesta Responder a este mensaje
#2 Jose
10/05/2006 - 21:09 | Informe spam
carlos dim withevents? Dice que no es valido.

"Carlos Gómez" escribió en el mensaje
news:%
Te falta guardar una referencia al objeto BindingManagerBase, que es el
que
se encarga del tema position (por cierto el primer elemento es el 0 (cero)
no el 1:
...

fila = dasedo.Tables("tabest").Rows.Find(c_idfind)

'Creo que no-->Me.BindingContext(dasedo, "tabest").Position = 1


'Continua con:
Dim WithEvents bmb as BindingManagerBase
bmb = Me.BindiengContext(daseodo, "tabest")
If bmb.Count>0 Then
bmb.Position = 0
Else
MessageBox.Show("No hay registros que mostrar")
End If



Jose wrote:

Estimados tengo el siguiente codigo. Quiero saber una vez encuentre el
registro mostrar el actual. La ultima linea de codigo creo esta mal. Como
es la correcta?
Gracias de antemano,

Dim fila As DataRow

Dim llaveprimaria(0) As DataColumn

llaveprimaria(0) = dasedo.Tables("tabest").Columns("codigo")

dasedo.Tables("tabest").PrimaryKey() = llaveprimaria

fila = dasedo.Tables("tabest").Rows.Find(c_idfind)

Me.BindingContext(dasedo, "tabest").Position = 1



Respuesta Responder a este mensaje
#3 Carlos Gómez
10/05/2006 - 23:48 | Informe spam
Jose wrote:

carlos dim withevents? Dice que no es valido.




Efectivamente, para declarar una variable 'WithEvents' ha de ser a nivel de
clase y no dentro de un procedimiento o función.

De todas formas no es necesario declararla WithEvents -siempre y cuando no
quieras alterar el formato de los datos devueltos por la base de datos.

Pero si que es recomendable declararla a nivel de clase, ya que esa variable
probablemente sea usada en varios procedimientos ya que es la que maneja el
metodo Position, ademas de EndCurrentEdit y CancelCurrentEdit que junto con
la propiedad Count son los mas usados
Respuesta Responder a este mensaje
#4 Jose
11/05/2006 - 00:06 | Informe spam
Ok Carlos pero ese ejemplo que me das solo posiciona el registro en la
primera posicion y no en el registro actual luego de una busqueda con find
Como se haria entonces?
Saludos
"Carlos Gómez" escribió en el mensaje
news:
Jose wrote:

carlos dim withevents? Dice que no es valido.




Efectivamente, para declarar una variable 'WithEvents' ha de ser a nivel
de
clase y no dentro de un procedimiento o función.

De todas formas no es necesario declararla WithEvents -siempre y cuando no
quieras alterar el formato de los datos devueltos por la base de datos.

Pero si que es recomendable declararla a nivel de clase, ya que esa
variable
probablemente sea usada en varios procedimientos ya que es la que maneja
el
metodo Position, ademas de EndCurrentEdit y CancelCurrentEdit que junto
con
la propiedad Count son los mas usados
Respuesta Responder a este mensaje
#5 Carlos Gómez
11/05/2006 - 17:21 | Informe spam
Jose wrote:

Ok Carlos pero ese ejemplo que me das solo posiciona el registro en la
primera posicion y no en el registro actual luego de una busqueda con find
Como se haria entonces?



Una forma de hacerlo es crear una tabla que relacione los id de los
registros con su posicion, y cargarla una vez que tengas el dataTable:

'Suponiendo que el Id es un entero
Dim Posicion() as Integer
Redim Posicion(datatabla.rows.count - 1)
For i As Integer = 0 To datatabla.rows.count - 1
Posicion(i) = Integer.Parse(dataTabla.Rows(i).("Id").ToString)
Next

y ahora a partir del Id ya sabes la posición.
Otra forma es usando la interfaz IList (la que se recomienda), pero esa yo
no la he llegado a usar

De la forma que te he puesto, hay que tener en cuenta que debes mantener el
array sincronizado: si eliminas un registro correr todos los datos una
posicion, si agregas añadir un nuevo elemento... Supongo que con IList no
habrá que estar pendiente de esto último, pero insisto, no he llegado a
usarla (falta de tiempo, como de costumbre)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida