tDbRichEdit
Publicado: Jue Oct 22, 2020 1:53 pm
Buenas xTeam. Veo que este control no está documentado, pero supongo que aún así no creo que resulelva el proglema que he encontrado, me explico.
Si de un campo cualquiera progunto por el ::oRS:FieldGetByName("codrefcont1") me muestra el valor que tiene en cada momento, si está asociado q un edit y lo edito y vuelvo a preguntar me dará el nuevo valor.
Pero en un campo DbRichEdit me muestra siempre el valor original cambie lo que cambie.
Uso una función para recuperar en u string el contenido de un registro y me devuelve el valor real de todos los campos salvo el de que esta en un DBRichEdit que muestra siempre el valor original y no el editado.
FUNCTION Record2Str( oRecord )
LOCAL cString := "", oField
IF oRecord == nil
RETURN ""
ENDIF
FOR Each oField In oRecord:aFields
IF At( "BLOB", Upper( oField:nSQLType ) )>0;
.Or. At( "MEMO", Upper( oField:nSQLType ) )>0;
.Or. At( "TEXT", Upper( oField:nSQLType ) )>0
cString += Allstring( oField:cName ) + "=[HEX]" + hb_StrToHex( ToString(oField:Value) ) + "||"
Else
cString += Allstring( oField:cName ) + "="+ + AllTrim( ToString( oField:Value ) ) + "||"
ENDIF
NEXT
RETURN cString
Alguna forma de que lo haga bien. Gracias
Si de un campo cualquiera progunto por el ::oRS:FieldGetByName("codrefcont1") me muestra el valor que tiene en cada momento, si está asociado q un edit y lo edito y vuelvo a preguntar me dará el nuevo valor.
Pero en un campo DbRichEdit me muestra siempre el valor original cambie lo que cambie.
Uso una función para recuperar en u string el contenido de un registro y me devuelve el valor real de todos los campos salvo el de que esta en un DBRichEdit que muestra siempre el valor original y no el editado.
FUNCTION Record2Str( oRecord )
LOCAL cString := "", oField
IF oRecord == nil
RETURN ""
ENDIF
FOR Each oField In oRecord:aFields
IF At( "BLOB", Upper( oField:nSQLType ) )>0;
.Or. At( "MEMO", Upper( oField:nSQLType ) )>0;
.Or. At( "TEXT", Upper( oField:nSQLType ) )>0
cString += Allstring( oField:cName ) + "=[HEX]" + hb_StrToHex( ToString(oField:Value) ) + "||"
Else
cString += Allstring( oField:cName ) + "="+ + AllTrim( ToString( oField:Value ) ) + "||"
ENDIF
NEXT
RETURN cString
Alguna forma de que lo haga bien. Gracias