[Lazarus-es] posicionar fila en grid en determinado registro

Maxi maximiliano.duarte en gmail.com
Lun Abr 26 20:53:43 CEST 2010


El día 26 de abril de 2010 14:21, Paola Bruccoleri
<pbruccoleri en adinet.com.uy> escribió:
> Maxi escribió:
>>
>> 2010/4/26 Paola Bruccoleri <pbruccoleri en adinet.com.uy>:
>>
>>>
>>> José Antonio Cuello escribió:
>>>
>>>>
>>>> hola te envio el procedimiento que uso para refrescar los datos de un
>>>> grid, espero te sirva. Un saludo.
>>>>
>>>> P.D: DBGrid1 = nombre de tu grid ( esto es por si refresca el Dataset
>>>> del grid )
>>>>
>>>> procedure TMantForm.RefreshQry( Sender: TDataSet );
>>>> Var
>>>>  vBookMark: String;
>>>>  vActGrid : Boolean;
>>>> begin
>>>>  if Sender.Active then
>>>>   vBookMark := Sender.Bookmark
>>>>  else
>>>>   vBookMark := '';
>>>>
>>>>  vActGrid := (Sender = DBGrid1.DataSource.DataSet);
>>>>  try
>>>>   if vActGrid then DBGrid1.BeginUpdate;
>>>>   Sender.Close;
>>>>   Sender.Open;
>>>>  finally
>>>>   if vActGrid then DBGrid1.EndUpdate(true);
>>>>  end;
>>>>
>>>>  if vBookMark <> '' then
>>>>   try
>>>>     Sender.Bookmark := vBookMark;
>>>>   except
>>>>   end;
>>>> end;
>>>>
>>>>
>>>>
>>>>
>>>
>>> Hola José..
>>> no me está funcionando, pero quizás sea que algo estoy haciendo mal..
>>>
>>> Puse ese procedimiento en el form, y lo uso de esta manera:
>>>
>>>   f:= TfrmAgregar.Create(Self);
>>>   try
>>>    if (f.ShowModal = mrOK) Then
>>>     Begin
>>>        RefreshQry(qryM);
>>>     end
>>>
>>>   finally
>>>     FreeAndNil(f);
>>>   end;
>>>
>>> pero no me deja el grid en la fila seleccionada, sino en la primera
>>> fila...
>>> chauuuuuuuuuu
>>>
>>>
>>> _______________________________________________
>>> Lazarus-es mailing list
>>> Lazarus-es en lists.lazarus.freepascal.org
>>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>>
>>>
>>
>>
>> y donde haces la llamada al bookmark? o el locate del registro?
>>
>
> se supone que el RefreshQry lo hace...pero evidentemente lo estoy usando mal
> :(
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>


pasa todo el codigo de refreshqry

-- 
Maximiliano Duarte
Linux User #495070
Ubuntu User #28504

Tolerancia significa disculpar los defectos de los demás; tacto, no
reparar en ellos.




More information about the Lazarus-es mailing list