Visual Basic - problemas recordset

Life is soft - evento anual de software empresarial
   
Vista:

problemas recordset

Publicado por Guillermo (20 intervenciones) el 27/09/2010 19:56:47
Hola gente, tengo un problemita, lo que sucede es que tengo una flex grid y la lleno con el resultado de un select en un recordset, la cosa es que cuando empiezo a navegar por la flexgrid con el mouse, cambio de registro y cuando encuentro el que quiero elegir el recordset sigue en el registro que quedo cuando se termino de llenar.
Como pueod hcer para que cada vez que busco con el mouse un regitro el recordset vaya alk mismo registro al igual que lo hace en el datagrid?
Ustedes me preguntaran porque no lo hago en la datagrid directamente, pero bueno, en esta ocacion necesito hacerlo sobre la flexgrid, no me queda otra...

Espero su ayuda por favor.
DEsde ya muchas gracias

Guillermo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problemas recordset

Publicado por Zen Master (15 intervenciones) el 27/09/2010 21:02:51
No te entiendo bien tu consulta amigo pero si lo que quieres es que el flexgrid mantenga el foco en un registro determinado pues solo guarda en una variable el valor de row referente a ese registro entonces manipula el flexgrid diciendole que vaya a la fila que quieres.

Un ejemplo

Digamos que tengo un programa para un restaurante de comidas rapidas donde en una pantalla con un flexgrid se cargan todos los pedidos que van entrando y estan pendientes de alistar para ser entregados al cliente.

Supongamos que si hago doble click sobre un pedido se ejecuta un procedimiento que se llama alistar que pasa dicho pedido como listo y lo desaparece del flexgrid pues este se debe actualizar con solo los pedidos pendientes.

Pero cada vez que actualizo el flexgrid este se va al primer registro o sea al tope del flexgrid y yo quería que se quedara en el pedido que seguía al que acabo de alistar y que se borró del flexgrid.

Pues entonces en una variable guardaría la posición del pedido antes de alistarlo y una vez que desaparece posiciono el foco en el pedido que sigue:

1) Enchilada
2) Hamburguesa --> doble click en este para alistarlo, por tanto este toma el foco
3) Hot Dog
4) Soda

entonces diria antes del proceso de alistar:

Dim fila as integer

fila = flexgrid1.Row --> obtiene la fila actual en este caso es la 2 (Hamburguesa)

Hago doble click sobre la fila 2, se ejecuta el procedimiento de alistar asi que el pedido de la fila 2 desaparece, actualizo el flexgrid para ver solo lo que esta pendiente:

1) Enchilada --> se posiciona el foco en la primera fila
2) Hot Dog
3) Soda
4) Helado Chocolate

pero le digo que quede donde estaba antes

Flexgrid1.Row = fila
Flexgrid1.SetFocus

1) Enchilada
2) Hot Dog --> se posiciona el foco en la segunda fila
3) Soda
4) Helado Chocolate

Espero esa sea tu duda...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problemas recordset

Publicado por Guillermo (20 intervenciones) el 27/09/2010 22:26:28
amigo esta bueno esto que me decis y me ayuda en la funcionalidad de mi programa tambien, pero mi duda es otra. Paso a detallarte:

Tengo una base de datos con clientes la cual a travez de una coneccion ADO traigo sus datos con un recordset y los muestro en una flex grid.
una vez cargada la flex grid asi por ejemplo:
Nombre Apellido Direccion
Guillermo cual. Apellido cual. Direccion
Pedro cual. Apellido cual. Direccion
Pablo cual. Apellido cual. Direccion

quiero seleccionar a pedro y pasar su nombre y sus datos a otro formulario donde los puedo editar. Que pasa?
cuando yo selecciono a pedro en el flexgrid, el recordset (osea el registro seleccionado en la base de datos) queda en la posicion en la cual quedo cuando carga la grilla. Entonces cuando paso los datos independientemente del registro que yo seleccione en el flexgrid los datos que van a pasar son los de ese registro y no el que yo selecciones.
Lo que estoy buscando es algo que al moverme en el flexgrid tambien mueva la posicion en el recordset asi cuando yo seleccione algo en la flexgrid tambien se seleccionara en el recordset.
Espero me puedas ayudar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar