Ver Mensaje Individual
  #2  
Antiguo 05-12-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por MARIO2019 Ver Mensaje
En la tabla producto puedo seleccionar varios productos.
Lo que deseo es que al seleccionar un producto, esa FILA del producto se bloquee (YA no se ejecute)para que NO sea seleccionada nuevamente.
Es posible que al confirmar la seleccion (bitbtn) se pueda regresar al primer registro seleccionado.

Hola Mario.

Ya te lo he comentado en SO, pero aquí te digo lo mismo.
Tal vez en tu mente tienes claro lo que quieres, pero al menos yo, con esta explicación no acabo de entenderte.

Hablas de "que el producto se bloquee" (ya no se ejecute), no se a qué te refieres con eso, "ejecutar un producto".



Cita:
Empezado por MARIO2019 Ver Mensaje
Estuve viendo que se utiliza GetBookmark, que por cierto en el proyecto que utilizo me figura como error al momento de ejecutar.

En cuanto a los bookmarks sirven para guardar la referencia de un registro y luego volver a el.
El código que has puesto es incompleto y por eso te falla. Está bien que cuando te aparezca un error digas cual es, de otra forma es difícil ayudar.

Si quieres ver un ejemplo de cómo utilizar los bookmarks, en la propia ayuda de Delphi tienes uno sencillo.
https://docwiki.embarcadero.com/Code...okmark_(Delphi)

https://docwiki.embarcadero.com/RADS...kValid_methods



Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
   SavePlace: TBookmark;
   PrevValue: Variant;
begin
   with Customers do
   begin
    { Get a bookmark, so that you can return to the same record. }
    SavePlace := GetBookmark;
    try
      { Move to previous record. }
      FindPrior; 
      { Get the value. }
      PrevValue := FindField('Field2').Value;
      {Move back to the bookmark.
      It may not be the next record anymore, 
      in the case when something else is changing the dataset asynchronously. }
      GotoBookmark(SavePlace);
      { Set the value. }
      Edit;
      FindField('Field2').Value := PrevValue;
    except
    ShowMessage('An error encountered');
    end;
  end;
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita