Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
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 06-08-2007
mauqu mauqu is offline
Miembro
 
Registrado: may 2007
Posts: 28
Poder: 0
mauqu Va por buen camino
Locate

Estimados todos:

Tengo un problemita, estoy trabajando en un proyecto de base de datos y en el momento en el que se abre mi formulario principal quiero que me busque un dato en una tabla por lo cual en el evento formshow de mi formulario principal, luego de abrir el clientdataset le digo que me haga un locate para que busque el dato, lo encuentra pero por alguna razón no me refresca los controles asociados a mi datasource. alguna idea?

{codigo delphi}

procedure TfrmMain.FormShow(Sender: TObject);
begin
DataSource.dataset:=ClientDadaSet;
DataSource.dataset.open;
DataSource.dataset.locate('CLAVE','3',[loCaseInsensitive]);
end;

{\codigo delphi}

esta todo bien definido, el clientdataset apunta a un adoquery que tiene un sql mirando a una tabla, el dato ('3') existe en la tabla.

Espero se entienda, saludos y gracias.
Responder Con Cita
  #2  
Antiguo 06-08-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
No entiendo porq no haces el locate en el clientdataset y cargas primero en un datasource, prueba esto:

Código Delphi [-]
procedure TfrmMain.FormShow(Sender: TObject);
begin
   miClientdataset.locate('CLAVE','3',[loCaseInsensitive]);
end;
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #3  
Antiguo 06-08-2007
mauqu mauqu is offline
Miembro
 
Registrado: may 2007
Posts: 28
Poder: 0
mauqu Va por buen camino
probe haciendo el locate en el clientdataset y despues asignarle el clientdataset al datasource pero igual, lo encuentra pero no me muestra los datos en pantalla, es decir, en el dbgrid que esta mirando al datasource.
Responder Con Cita
  #4  
Antiguo 06-08-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Creo que sigo sin entender, te digo a mi entender:

Un ClientDateSet se conecta al DataSource, el DataSource al DbGrid, todo esto en tiempo de diseño, luego si tu lo que quieres es mostar un solo registro en el dbgrid el locate lo ubica pero no lo filtra son conceptos distintos, una cosa es que lo ubique y otra es que en un dbgrid solo lo muestre a el
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #5  
Antiguo 06-08-2007
mauqu mauqu is offline
Miembro
 
Registrado: may 2007
Posts: 28
Poder: 0
mauqu Va por buen camino
Perdon, yo me explique mal.

Tengo estos datos en una tabla en una base de datos.

CLAVE,TipoProducto,NombreProducto,Precio

y estos valores en el orden de las columnas que describi antes.

1,2,Driver 5 1/4,10
2,2,FP,50
3,5,Keyboard,10
4,6,mouse,5

cuando abre la aplicación pregunta que producto quiere ver, entonces le pido que ingrese el codproducto, por ejemplo el 3.

todo esto en el show del form., y como mostre antes en el código cargo el datasource y hago un locate, para que en la grilla el registro activo sea el que seleccionó el usuario, me entiendes?, la idea es que te abra la grilla y se resalte el producto que eligió el usuario antes de mostrar el formulario principal, ahora bien, la grilla se esta cargando, pero no me esta poniendo activo el producto que selecciono el usuario. :S, (soy malaso pa explicar sorry).
Responder Con Cita
  #6  
Antiguo 06-08-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Bueno, me parece que eduarcol tiene razón, ¿Que quieres?, ¿Filtrar o localizar?, el locate solo te localiza el registro, en cambio el Filter te mostraria solo ese registro. ¿Cual de los dos quieres usar?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #7  
Antiguo 06-08-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Ahhh, bueno, pero ¿De que manera necesitas que se resalte dicho registro?, Por medio de un color?, ¿Por medio de una señal?, ¿Un dibujo?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #8  
Antiguo 06-08-2007
mauqu mauqu is offline
Miembro
 
Registrado: may 2007
Posts: 28
Poder: 0
mauqu Va por buen camino
si, de la forma que lo hace el dbgrid cuando seleccionas un registro, digamos, todo el registro de color azul
Responder Con Cita
  #9  
Antiguo 06-08-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
En la propiedad Options del dbgrid, muestra

rowSelect := True;
AlwaysShowSelection := True
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #10  
Antiguo 06-08-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Si quieres seguir usando el Locate, puede que te sirva...

Activa la opción dgAlwaysShowSelection de la propiedad Options de la Grid.

Si no quieres seguir usando el Locate, puedes buscar en los foros "como colorear una fila, dependiendo de una condición" hay bastante información al respecto.

Nota: Te me haz adelantado y por mucho Eduardo
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 06-08-2007 a las 18:28:54. Razón: Se me adelanto Eduardo y queria colocar la nota
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
problema con locate anubis Tablas planas 5 05-06-2007 07:52:57
Yo uso LOCATE y tu......... JULIOCTORRESG Varios 1 02-03-2007 02:10:47
Locate sanrp2004 Varios 3 21-06-2006 21:30:37
Uso del Locate jzk Conexión con bases de datos 8 22-04-2005 14:05:03
Locate hgiacobone Conexión con bases de datos 6 08-07-2003 16:33:49


La franja horaria es GMT +2. Ahora son las 05:20:05.


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