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

Maximiliano Duarte maximiliano.duarte en gmail.com
Mar Abr 27 03:25:22 CEST 2010



-- mensaje original --
Asunto:	Re: [Lazarus-es] posicionar fila en grid en determinado registro
De:	Paola Bruccoleri <pbruccoleri en adinet.com.uy>
Fecha:		26/04/2010 20:54

Maxi escribió:
> 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
>   
está mas arriba en este correo...

Paola, se me hace q eso nunca va a funcionar ya q al cerrar el dataset y volverlo a abrir el conjunto cambio y la marca ya no es vida. Sugiero q hagas las modificaciones directamente sobre el dataset q apunta a la grilla y listo, cuando volves ya tenes el dato nuevo. Sino la otra es guardara clave primaria, cerrar, abrir y hacer locate. Si no entendes mañana t paso un ejemplo. Ahora esoty con el telefono
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es





More information about the Lazarus-es mailing list