Página 1 de 1

browse

Publicado: Jue Mar 16, 2006 5:35 am
por swrite
Buenas noches
Adjunto el proyecto en el que estoy iniciando
ahora el tema son los browses
He copiado el codigo del proyecto de samples
DBFData2
tengo las siguientes preguntas
- Al entrar en edicion con el Mouse siempre se va a la primera columna
Como puedo hacer para que se vaya a la columna que apunto
- Al editar siempre me escoje la primera columna y si doy escape en por
ejemplo la segunda columna toda la fila ¿Registro se vuelve al dato
anterior, desearia que solo se devuelva el dato de la columna actual, no
toda la fila, imagino que tiene que ver con el tema anterior
- Como hago para entrar en edicion con la tecla ENTER
- si se fijan en el codigo trate de automatizar para cualquier tabla el
reporte algo asi
For i:= 1 To Len( ::oDataSet:aFields )
WITH object oReport:AddColumn( )
:aTitle := { {|| ::DeIndice(aNames,i) } } //aca trato de
regresar
el nombre de la columna
:aData := { {||::DeIndice_01( ::oDataSet, i) } } //aca la
variable
como fieldget
:Create( )
END WITH
Next
claro me da error, me podrian guiar o dar una pista de como hacerlo
- y finalmente por ahora si se fijan en la imagen, la obtengo cuando voy
al
final y le cambio el codigo
de 04 a 00 y luego le vuelvo a cambiar de 00 a 04 y digitando las teclas
de flecha abajo o arriba o page doan o pageup se duplica la visualizacion
del browse adjunto imagen en siguiente email
Gracias x todo, nuevamente aclaro que estoy iniciando y si esto leyendo la
documentacion, claro lo poco que entiendo je je
Estoy usando Prerelease 6a y el xHabrour que la acompaña
Saludos
Wilson Gamboa A
pd : apelo a su paciencia gracias


Attached files at.zip (31.9 KB)Â

browse

Publicado: Jue Mar 16, 2006 9:12 am
por ignacio
Wilson,
> - Al entrar en edicion con el Mouse siempre se va a la primera columna
> Como puedo hacer para que se vaya a la columna que apunto
Esta usando un nMarqueStyle que marca toda la fila. Con que cambia dicha
propiedad a alguna que le marque la columna activa será suficiente.
> - Al editar siempre me escoje la primera columna y si doy escape en por
> ejemplo la segunda columna toda la fila ¿Registro se vuelve al dato
> anterior, desearia que solo se devuelva el dato de la columna actual, no
> toda la fila, imagino que tiene que ver con el tema anterior
Ya contestado
> - Como hago para entrar en edicion con la tecla ENTER
No hay que hacer nada
> - si se fijan en el codigo trate de automatizar para cualquier tabla el
> reporte algo asi
Hay que hacer que la variable 'i' se convierta en una 'detached local', ya
que si no 'i' siempre vale:
Len( ::oDataSet:aFields ) + 1
Supongo que lo entiende. Para crear detached locals el truco es crear una
pequeña funcion que haga el trabajo, por ejemplo, y sin ninguna relación con
lo que usted especificamente necesita:
STATIC FUNCTION GenBlock( aArray, nIndex )
RETURN {|| aArray[ nIndex ] }
> - y finalmente por ahora si se fijan en la imagen, la obtengo cuando voy
> al
> final y le cambio el codigo
> de 04 a 00 y luego le vuelvo a cambiar de 00 a 04 y digitando las
> teclas
> de flecha abajo o arriba o page doan o pageup se duplica la visualizacion
> del browse adjunto imagen en siguiente email
Seguramente su campo codigo es parte del índice activo, y por lo tanto
cuando cambia su valor también cambia su posición lógica en el fichero. En
dichos casos no tiene más remedio que provocar un refresco completo del
Browse después de la edición.
Un saludo,

browse

Publicado: Jue Mar 16, 2006 2:45 pm
por swrite
Gracias x contestar ignacio
seguire investigando
saludos
Att
Wilson Gamboa A
swrite@uio.satnet.net
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:44191dfb$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Wilson,
>
>> - Al entrar en edicion con el Mouse siempre se va a la primera columna
>> Como puedo hacer para que se vaya a la columna que apunto
>
> Esta usando un nMarqueStyle que marca toda la fila. Con que cambia dicha
> propiedad a alguna que le marque la columna activa será suficiente.
>
>> - Al editar siempre me escoje la primera columna y si doy escape en
por
>> ejemplo la segunda columna toda la fila ¿Registro se vuelve al dato
>> anterior, desearia que solo se devuelva el dato de la columna actual,
no
>> toda la fila, imagino que tiene que ver con el tema anterior
>
> Ya contestado
>
>> - Como hago para entrar en edicion con la tecla ENTER
>
> No hay que hacer nada
>
>> - si se fijan en el codigo trate de automatizar para cualquier tabla
el
>> reporte algo asi
>
> Hay que hacer que la variable 'i' se convierta en una 'detached local',
ya
> que si no 'i' siempre vale:
>
> Len( ::oDataSet:aFields ) + 1
>
> Supongo que lo entiende. Para crear detached locals el truco es crear
una
> pequeña funcion que haga el trabajo, por ejemplo, y sin ninguna relación
con
> lo que usted especificamente necesita:
>
> STATIC FUNCTION GenBlock( aArray, nIndex )
>
> RETURN {|| aArray[ nIndex ] }
>
>> - y finalmente por ahora si se fijan en la imagen, la obtengo cuando
voy
>> al
>> final y le cambio el codigo
>> de 04 a 00 y luego le vuelvo a cambiar de 00 a 04 y digitando las
>> teclas
>> de flecha abajo o arriba o page doan o pageup se duplica la
visualizacion
>> del browse adjunto imagen en siguiente email
>
> Seguramente su campo codigo es parte del índice activo, y por lo tanto
> cuando cambia su valor también cambia su posición lógica en el fichero.
En
> dichos casos no tiene más remedio que provocar un refresco completo del
> Browse después de la edición.
>
> Un saludo,
>
>