Ir al contenido


Foto

dgRowSelect y dgEditing en un dbgrid compatibles?


  • Por favor identifícate para responder
6 respuestas en este tema

#1 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes

Escrito 16 abril 2016 - 06:04

Me veo con el problema o quizás no lo sea tanto, por saber si son compatibles tener activadas estas dos propiedades en un DBGrid. Como dispongo de uno, y puedo meter datos manualmente en la grilla (porque no tengo a TRUE el ReadOnly). Al introducir datos, la fila no se selecciona entera, sino que selecciona la primera celda y según vayamos introduciendo datos con enter, pasa a la siguiente celda de la fila....Pero mi intención es activar toda la fila al cargar el dbgrid y al mismo tiempo ir introduciendo celda a celda datos, pero veo que no se puede? o hay alternativa!

 

Y hablando de lo mismo, tengo un contador de "filas" del DbGrid, pero al introducir manualmente los datos e insertar el ultimo campo de la fila, el contador no se actualiza, como puedo en Lazarus, que al insertar el ultimo campo dando enter el valor se incremente en +1?

 

El contador si me cuenta bien, cuando pulso un boton y lee el dgbrid, pero al ser manual la introducción de datos?

 

Un saludo


  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 16 abril 2016 - 07:44

No mi estimado, no tendría sentido.
  • 0

#3 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes

Escrito 16 abril 2016 - 01:18

No mi estimado, no tendría sentido.

 

Pues me queda ya claro enecumene. 

 

En cuanto a la 2º pregunta, le he encontrado una "solución" pero creo que este error díficil solución tiene, sin cambiar considerablemente codigo.

 

"ERROR: Circular Unit reference Between unit3 and unit2" 

 

Unit3 necesita un FORM2 ( de Unit2) pero Unit2 necesita de Unit3 (FORM3). Como solucionar esto?


  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 16 abril 2016 - 01:29

Pues en una de las dos pon el Uses en la parte de Implementation, ejemplo, en el Unit2 mueve Uses Unit3:


delphi
  1. Implementation
  2. Uses Unit3;

Debería de funcionarte.

 

Saludos.


  • 0

#5 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes

Escrito 17 abril 2016 - 04:26

Pues en una de las dos pon el Uses en la parte de Implementation, ejemplo, en el Unit2 mueve Uses Unit3:


delphi
  1. Implementation
  2. Uses Unit3;

Debería de funcionarte.

 

Saludos.

 

Muchas Gracias amigo Enecumene, ya funciona! Siempre tuve este error como algo "terrorifico" me provocaba la idea que mi metodología estaba desarrollandola muy mal, cosa que no se! pero me he dado cuenta que hay veces que tener dos Forms, uno puede necesitar del otro y viceversa, por lo tanto no se si bueno solucionar ese error de esa manera, o buscar otra opción!

 

Como se suele decir "la costumbre hace ley" y quiero ir refinando sin acostumbrarme a tener malas hábitos de programación.

 

Un saludo!


  • 0

#6 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 mensajes
  • LocationArgentina

Escrito 17 abril 2016 - 08:43

Ojo, en realidad debería ser un caso excepcional que dos unidades si necesiten entre sí

Sí podes eliminar esa referencia circular, mejor
  • 0

#7 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 298 mensajes

Escrito 17 abril 2016 - 12:44

Ojo, en realidad debería ser un caso excepcional que dos unidades si necesiten entre sí

Sí podes eliminar esa referencia circular, mejor

 

Tomo noto Agustin, pero lo expongo por si pudiera saber alguna forma de eliminarla, ya que no se como afrontar ese problema, casi siempre se me da el caso de que una unidad "necesite" algo de la siguiente y ésta de la primera, me preocupa por si hay alguna técnica, método etc... a nivel de estructuración que lo pueda adaptar desde el principio y evitarlo.

 

En mi caso y a resumidas cuentas. Dispongo de:

 

- Form1 (el principal al cargar el programa. Pulso botón y cargar un Form2)

 

- Form2 (carga un DbGrid de todas la personas y muestra cantidad total de registros RecordCount automaticamente al visualizarse)  además dispone de un button para "lanzar" un Form3 (Form3.Show()), por lo tanto debo poner en Form2 (Uses Unit3) porque sino Form3.Show() no lo reconoce.

 

- y Form3 (Inserto datos uno a uno por campos en la BB.DD y actualiza en el Form2 que tengo detrás, el nº de registro, por lo tanto debo hacer referencia al Form2 con la sentencia (Form2.....RecordCount para que actualice luego en Form3 indico (Uses Unit2), ya que si no lo hago, Form2...RecordCount no lo reconoce y al cerrar el Form3 el DBGrid tiene más datos que indica el nº de registro. Y es ahí donde esta la REFERENCIA CIRCULAR!

 

Espero haberme expresado bien, siento si no es así, pero volvería a explicarlo de otro modo, ya que es muy importante no volver a tener este problema aunque subsanable, si me indicáis que lo evite por todos los medios posibles

 

Saludos


  • 0




IP.Board spam blocked by CleanTalk.