Edición en línea de un TBrowseMod
Publicado: Lun Oct 14, 2024 9:27 am
Buenas XTeam. Estoy intentando hacer una edición en línea con el browse moderno y me encuentro algunos problemas.
Adjunto ejemplo sencillo modificado sobre los samples de Xailer 9.1 1.- He tomado el ejemplo DBFBrowse y nada mas empezar al anchar el browse en edición, me quedan las cabeceras pintadas fuera de sus columnas.... lo cual me pasa algunas veces también en ejecución. 2.- Después he tomado como base el ejemplo MemBrowse y he permitido edición en línea. Como puede verse las columnas 2 y 3 son nEditType = beNone , pero al entrar en edición las edita todas incluidas estas beNone
.
3.- He añadido una columna booleana con un aEditListBound .T./.F. y aEditLIstText Sí/No con nEditType = beLISTBOX y para mi sorpresa necesito hacer uso del evento OnDrawCell para que me muestre los valores de aEditLIstText Sí/No
IF Lower(oCol:oDataField:cName)="directory"
cValue:=IF(xValue,"Sí","No")
Endif
4.- Aún así cuando entro en edición de una línea, el valor mostrado en esa columna por OnDrawCell se vuelve .T./.F. y al abrir la lista de edición entonces es mostrada la lista Sí/No, selecciono una opción, se cierra la lista y vuelve a mostrar .T./.F.
Si encima es una columna con nEditType = beGET_LISTBOX donde puedo teclear para buscar con una S o una N, buscar lo busca bien pero el valor devuelto ya no es de tipo lógico sino de tipo carácter y al ir a grabarlo en una BBDD da error.
5.- Si los valores a mostrar en una columna beLISTBOX son caracteres que tienen un aEditListBound numérico 1,2,3,4,5.... y el primer elemento de aEditLIstText está vacio "" o solo tiene espacios " ", para poder elegir una opción que no indique nada por ejemplo, no hay manera de coger otro valor siempre coge el primero, por eso he puesto un punto en la primera opción de la columna 7 y así funciona.
Muchas gracias por vuestro tiempo y atención.
Adjunto ejemplo sencillo modificado sobre los samples de Xailer 9.1 1.- He tomado el ejemplo DBFBrowse y nada mas empezar al anchar el browse en edición, me quedan las cabeceras pintadas fuera de sus columnas.... lo cual me pasa algunas veces también en ejecución. 2.- Después he tomado como base el ejemplo MemBrowse y he permitido edición en línea. Como puede verse las columnas 2 y 3 son nEditType = beNone , pero al entrar en edición las edita todas incluidas estas beNone

IF Lower(oCol:oDataField:cName)="directory"
cValue:=IF(xValue,"Sí","No")
Endif
4.- Aún así cuando entro en edición de una línea, el valor mostrado en esa columna por OnDrawCell se vuelve .T./.F. y al abrir la lista de edición entonces es mostrada la lista Sí/No, selecciono una opción, se cierra la lista y vuelve a mostrar .T./.F.
Si encima es una columna con nEditType = beGET_LISTBOX donde puedo teclear para buscar con una S o una N, buscar lo busca bien pero el valor devuelto ya no es de tipo lógico sino de tipo carácter y al ir a grabarlo en una BBDD da error.
5.- Si los valores a mostrar en una columna beLISTBOX son caracteres que tienen un aEditListBound numérico 1,2,3,4,5.... y el primer elemento de aEditLIstText está vacio "" o solo tiene espacios " ", para poder elegir una opción que no indique nada por ejemplo, no hay manera de coger otro valor siempre coge el primero, por eso he puesto un punto en la primera opción de la columna 7 y así funciona.
Muchas gracias por vuestro tiempo y atención.