Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como marcar una fila de un DBGrid? (https://www.clubdelphi.com/foros/showthread.php?t=7287)

danytorres 10-02-2004 21:34:33

Como marcar una fila de un DBGrid?
 
Buenas tardes Sr del foro. La duda que tengo es como enfoco una fila de un DBGrid un ejemplo seria tengo un boton un edit y un dbgrid, introdusco el numero 2 en el edit y al precionar enter seme enfoca la segunda fila del dbgrid, como lo hago, gracias de antemaano.

rex 11-02-2004 00:16:56

Para posisionarte en el registro que buscas segun el valor que capturaste puedes utilizar la funcion Locate con la query que alimenta tu dbgrid:

function Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions): Boolean;


por ejemplo si es un solo campo en el evento onclick de tu boton:


myquery.locate('Nombredelcampo', edit.text, [locaseinsensitive]);


si son mas de dos campos y para darle mas agilidad:

If myquery.locate('campo1';'campo2', VarArrayOf([edit1.text, edit2.text]), [locaseinsensitive]) = false then
showmessage('No se encuentraron coincidencias');


para pintar la fila de tu debe grid seleccionada te la debo una vez lo hice voy a buscar el codigo y te lo paso

rex 11-02-2004 22:33:14

Ya lo recorde, en el objet inspector en elije options de tu dbgrid, establece a true la propiedad dgRowSelect, despues que hagas el locate solo mandale el focus a tu dbgrid



If myquery.locate('campo1';'campo2', VarArrayOf([edit1.text, edit2.text]), [locaseinsensitive]) = false then
showmessage('No se encuentraron coincidencias')
else
dbgrid.setfocus;



asi me funciono a mi... espero te sirva


La franja horaria es GMT +2. Ahora son las 06:35:16.

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