![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola:
Creo que no me explique vien y conduje a confucion. El problema que tengo es que cuando me muevo por la grilla hacia la isquierda o derecha, el puntero de la misma se actualiza. Pero no ocurre esto si voy de arriba a abajo. Osea si me muevo entre columnas el puntero de la grilla se actualiza, pero no ocurre lo mismo si me muevo entre filas. Alguna idea al respecto. Saludos Jose Miguel B. |
|
#2
|
||||
|
||||
Definitivamente sigo sin entender... ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#3
|
|||
|
|||
|
Hola
Mira con este ejemplo tomado desde el "Help de delphi" te va a quedar mas claro el problema. Solo Modifique la asignacion del "DisplayLabel" para graficar mejor la situacion: El ejemplo siguiente requiere de una Grilla, un DataSource y un Table. con las siguientes asignaciones en la tabla: Table1.DatabaseName := 'DBDEMOS'; Table1.TableName := 'biofile.db'; ... Entonces cada vez que pinches una celdilla o te muevas con las teclas de flecha hacia la isquierda o derecha, en la cabecera de la columna de la celdilla pinchada aparecera un asterisco y los primeros 4 caracteres del campo 'Category'. No ocurrira lo mismo si te mueves con las teclas de flecha hacia arriba o hacia abajo. A pesar de que el campo 'Category' ya tiene otro contenido. Espero haberme explicado mejor... Saludos Jose Miguel B. var Form1: TForm1; StarIsThere: Boolean; implementation {$R *.dfm} procedure TForm1.DBGrid1ColEnter(Sender: TObject); begin with DBGrid1.SelectedField do DisplayLabel := '* ' + copy( Table1.FieldByName('Category').AsString,1,4)+ '* '+ DisplayLabel; StarIsThere := True; end; procedure TForm1.DBGrid1ColExit(Sender: TObject); var TheLabel: string; begin if StarIsThere then begin with DBGrid1.SelectedField do begin TheLabel := DisplayLabel; Delete(TheLabel, 1, 8); DisplayLabel := TheLabel; end; end; end; |
|
#4
|
||||
|
||||
|
Pablo Carlos te lo dijo desde un principio: usa el evento AfterScroll del dataset. El evento OnColEnter sólo se activará cuando entres a la columna y no si te mueves sobre ella. Es decir, si te desplazas verticalmente, el evento no se genera porque no has entrado a una nueva columna. Sin embargo tal desplazamiento vertical sí genera un cambio de fila y por tanto el evento AfterScroll.
// Saludos |
|
#5
|
|||
|
|||
|
Que facil era, ... gracias por su ayuda. Sirvio de maravilla el AfterScroll.
Dentro del procedimiento AfterScroll hice el llamado a onColEnter y funciono de maravillas. Una vez mas gracias. Saludos Jose Miguel Bakulic V. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|