Ver Mensaje Individual
  #10  
Antiguo 31-05-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Posteado originalmente por cadetill
Hola bitERROR.
Para mi, el TRxDbGrid lleva una funcionalidad (aunque solo fuese esta) muy importante que para hacerla con un TDbGrid tendria que escribir mucho codigo y es la capacidad de poner un "triangulito" para indicar por que columna se esta ordenando un DataSet.
Aunque si sólo fuera por eso quiza yo no instalaría 300 componentes en mi paleta a menos que utilice varias de ellascon regularidad.

Pero de hecho es este tipo de simples agregados pero que utilizamos mucho lo que en mi caso me lleva ocasionalmente a escribir mis propios componentes.

Por ejemplo, para escoger un campo relacionado normalmente ponía un TDBLookupComboBox pero era necesario también poner un TEdit para que el capturista pudiera escribir el código en lugar de seleccionarlo de la lista (una vez que se saben los códigos esto es más fácil para quien captura). El código siempre era numérico y resultaba muy útil que después de los dos o tres dígitos de que constara, el foco pasara automáticamente al siguiente control. Por otro lado debía conectar el Edit con el Combo de manera que los cambios en uno se reflejarran en el otro. Si esto se hace para un par de casos no vale la pena ni bajarse un componente ni escribir uno, pero cuando se trata de colocar decenas o veintenas de estos pares de controles la cosa cambia. Así que me fabriqué mis propios derivados de Edit y Combo cada uno con una propiedad publicada que referencia al otro y de esta forma tanto el código que enlaza ambos componentes como lo de aceptar sólo números y pasar al foco siguiente lo escribo una sóla vez y me olvido de él por el resto de mis días.

Es cierto que pude buscar algún componente que me diera una funcionalidad similar pero codificarlos resultaba bastante sencillo y tengo completo control sobre ellos y puedo modificarlos a mi antojo como de hecho fue el caso: se dio la necesidad de tener Edits que se autoseleccionaran (todo el texto) al hacer click dentro de ellos. Parece fácil pero al menos yo nunca pude hacerlo directamente ya que la autoselección debe hacerse sólo si el control no tiene el foco. Sin embargo sí podía hacerlo si derivaba un componente del Edit. En lugra de bajarma otro Edit con es funcionalidad simplemente se la añadí al que ya tenía.

Sin embargo es claro que si la complejidad del componente es muy alta es recomendable buscar uno ya hecho, a no ser que uno se dedique a escribir componentes pero generalmente no se tiene el tiempo suficiente.

Por ejemplo, antes de la llegada de los ClientDataSets había (y creo que todavía los hay) componentes para simular tablas en memoria. Esto era factible hacer ya que tan sólo había que derivar de TDataSet pero la complejidad es muy grande y era mejor buscarse algo ya hecho.

// Saludos
Responder Con Cita