Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-09-2008
Almd Almd is offline
Miembro
 
Registrado: ago 2008
Posts: 27
Poder: 0
Almd Va por buen camino
Efectivamente, tal y como lo has puesto funciona, aunque ahora tengo otras dos dudas.
La primera es que me apunta a la primera posición, pero no lo coloca en el grid, es decir, que la flecha sí sale situada en la posición 1 pero se siguen viendo las posiciones con 0.
La segunda supongo que tendré que investigar por mi parte ya que, al incluir el código que me has puesto, curiosamente emplea un procedimiento que tengo en el programa que consiste en incluir las filas que faltan de una base de datos, a la que estoy utilizando. No sé si será que mezcla algún otro query que haya por ahí, ¿qué opinais?
Responder Con Cita
  #2  
Antiguo 02-09-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
logicamente te coloca el cursor en la posición que encuentra pero no te hace el scroll hasta ocultar los 0. imaginate que tienes el dbgrid con 10 lineas visibles con los siguientes datos: 5 ceros y 1,2 y 3 , en este caso se verían todas las líneas y te sobrarían "3 espacios", no creo que puedas correr el scroll hacia abajo si no tienes los datos suficientes, si no quieres que se vean los 0 yo los excluiría mediante la consulta.

El Locate no debería ejecutarte ningún procedimiento que tengas por ahi a no ser que lo coloques en un evento que lance el locate creo que lanza el beforescroll y el afterscroll aunque no estoy muy seguro en estos momentos....
Responder Con Cita
  #3  
Antiguo 02-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Cita:
el locate creo que lanza el beforescroll y el afterscroll aunque no estoy muy seguro en estos momentos
si, y el datachange tambien del dataset asociado.
Responder Con Cita
  #4  
Antiguo 03-09-2008
Almd Almd is offline
Miembro
 
Registrado: ago 2008
Posts: 27
Poder: 0
Almd Va por buen camino
Cita:
Empezado por tcp_ip_es Ver Mensaje
logicamente te coloca el cursor en la posición que encuentra pero no te hace el scroll hasta ocultar los 0. imaginate que tienes el dbgrid con 10 lineas visibles con los siguientes datos: 5 ceros y 1,2 y 3 , en este caso se verían todas las líneas y te sobrarían "3 espacios", no creo que puedas correr el scroll hacia abajo si no tienes los datos suficientes, si no quieres que se vean los 0 yo los excluiría mediante la consulta.
Tengo los 0's suficientes para que hiciera el scroll, por eso lo preguntaba, pero tal vez me esté complicando demasiado je je.
¿Entonces podría usar scroll para que apuntara a la primera posición?
Responder Con Cita
  #5  
Antiguo 03-09-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
una solucion "cutre" sería que vieses cuantos ceros te deja por arriba cuando haces el locate una vez hecho esto ya sabes que el locate tiene que ser de la primera posición + esa cantidad, de esa manera el cursor a lo mejor se te colocaría en otra posición pero el primero del dbgrid sería el 1. Una vez hecho esto puedes hacer otro locate consecutivo y buscar el uno de nuevo... no se si me he explicado

Código Delphi [-]
query.locate('posicion',1+Cantidaddecerosqueahoraveoporencima,[]);
query.locate('posicion',1,[]);
pruebalo y me cuentas
Responder Con Cita
  #6  
Antiguo 03-09-2008
Almd Almd is offline
Miembro
 
Registrado: ago 2008
Posts: 27
Poder: 0
Almd Va por buen camino
Cita:
Empezado por tcp_ip_es Ver Mensaje
una solucion "cutre" sería que vieses cuantos ceros te deja por arriba cuando haces el locate una vez hecho esto ya sabes que el locate tiene que ser de la primera posición + esa cantidad, de esa manera el cursor a lo mejor se te colocaría en otra posición pero el primero del dbgrid sería el 1. Una vez hecho esto puedes hacer otro locate consecutivo y buscar el uno de nuevo... no se si me he explicado

Código Delphi [-]
query.locate('posicion',1+Cantidaddecerosqueahoraveoporencima,[]);
query.locate('posicion',1,[]);
pruebalo y me cuentas

Lo probé y me temo que no funciona
Responder Con Cita
  #7  
Antiguo 03-09-2008
Almd Almd is offline
Miembro
 
Registrado: ago 2008
Posts: 27
Poder: 0
Almd Va por buen camino
¿Qué mas formas hay de apuntar a la posición 1 que no sea mediante locate?
Responder Con Cita
  #8  
Antiguo 03-09-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
con el next y el prior te puedes mover por el dataset en este caso tu query.

Código Delphi [-]
q1.open;
q1.first;
while not(q1.eof) and (q1.fieldbyname('posicion').value <> 1) do
begin
q1.next;
end;

Con esto te lo localiza pero sigues viendo los ceros, luego puedes ajustar haciendo más next para que desaparezcan (tb es un poco cutre )
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Apuntar a un tipo genérico Guillermo80 Varios 4 09-03-2008 11:48:22
¿Dominio (web) apuntar a wordpresblog? JXJ Varios 2 04-03-2008 17:20:40
Apuntar a una fila en una rejilla TheWolfMan Varios 1 19-11-2005 17:09:06
Insertar en una posición felixgo Conexión con bases de datos 4 04-10-2005 19:21:37
Apuntar una propiedad de un componente a otra de otro componente Majo Varios 10 24-03-2004 19:46:39


La franja horaria es GMT +2. Ahora son las 03:01:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi