Página 1 de 1

tDBEditButton vs tEditButton

Publicado: Mar Feb 23, 2016 5:18 pm
por bingen
Buenas xTeam, tengo un dilema.

Necesito un tDbEditButton para preguntar por la impresora de tickets y guardarla en una tabla, lo pongo y funciona bien saca la lista elijo una y la guarda en el campo de la tabla.
Pero si pongo la propiedad lEditable a .F. (para que no escriban a mano) el BtnEditButton solo funciona la primera vez, cuando está vacio, pero a partir de que el campo tiene ya un valor el botón no hace ni caso.

En cambio si es un tEditButton ya no hay una propiedad lEditable sino otra lReadOnly que pongo a .T. con lo cual ya no deja escribir, pero el botón funciona perfectamente todo el rato.
Ahora es labor mia grabar ese campo en la tabla de forma manual.

Por que hay esta disparidad de funcionamiento entre ambos controles, siendo más lógico el del segundo, creo yo.

Gracias.

Re: tDBEditButton vs tEditButton

Publicado: Mar Mar 01, 2016 7:36 pm
por ignacio
Buenas Bingen,

lEditable es una propiedad ligada al Datacontrol básicamente, mientras que lReadonly es un a propiedad intrínseca del control que nada tiene que ver con los datacontrols. De hecho se podría prescindir completamente de la propiedad lReadOnly cuando se utilizan los controles TDB?????. Como es una propiedad que se puso más tarde preferimos no quitar lReadonly para no romper el código de nadie.

Si lEditable está a falso, el botón no debería de funcionar ni siquiera la primera vez. Entiendo que ese es el comportamiento correcto.

Acabo de comprobar el ejemplo DataControls1 cambiando el primer campo a tipo TDBEditBtn y dejando en blanco el primer registro. Luego establezco lEditable a falso e intento hacer un 'Edit' y compruebo que el botón no funciona, por lo que entiendo es correcto.

Viendo el código del método Click se ve claramente que no depende de que esté en blanco o no:

Código: Seleccionar todo

METHOD Click() CLASS XDBEditBtn

   IF ::lReadOnly
      ::nBtnState := 1
      RETURN Nil
   ENDIF

RETURN ::Super:Click()
Un saludo

Re: tDBEditButton vs tEditButton

Publicado: Jue Mar 03, 2016 12:19 pm
por bingen
Volveré a probarlo a ver.

Gracias y salu2.