Page 1 of 1
ReSyncWhere: agrega registro al final de oRowSet
Posted: Sat Apr 05, 2025 9:28 pm
by José
Hola a todos, un gusto saludar por acá.
Estoy tratando de usar XBrowse con MySQL, y luego de agregar un registro nuevo uso
oQry:ReSyncWhere( 'CLAVE = "' + <la clave> + '"' )
oBrw:RefreshCurrent()
Y efectivamente el registro es incluido en el oRowSet, pero siempre al final de la lista, no respetando la actual columna de orden ni si es ascendente o descendente.
Debe ser algo fácil, pero no lo logro. La idea es no tener que cargar toda la consulta de nuevo.
Me baso en el mensaje en
viewtopic.php?p=200956&hilit=loadquery#p200956, pero algo me falta.
Gracias a todos.
Re: ReSyncWhere: agrega registro al final de oRowSet
Posted: Sun Apr 06, 2025 1:05 am
by cnavarro
Re: ReSyncWhere: agrega registro al final de oRowSet
Posted: Sun Apr 06, 2025 5:06 pm
by José
CNavarro
Hola, gracias por tu interés y pronta ayuda.
Aunque no he logrado aún resolver el problema, haciendo pruebas con tu sugerencia me di cuenta que las nuevas filas no asumen la posición correcta cuando aún no he hecho clic en ninguna cabecera de columna para cambiar el orden de visualización.
Por otro lado, si hago clic en cualquier cabecera de columna y cambio el orden, e incluso si luego ordeno por la misma columna de orden inicial, ascendente o descendente, los nuevos registros, uno a uno, sin necesidad de volver a cambiar el orden, sí se posicionan en la fila correcta según el orden actual.
Hice cambios y pruebas, pensando que quizás es porque XBrowse no sabe que está ordenado hasta que ejecuto al menos un oCol:SetOrder, y lo hago en el código fuente; pero aún así, no funciona sino hasta que manualmente hago clic en cabeceras de ordenamiento.
Nota. No he encontrado forma de hacer oBrw:SetOrder, solo oCol:SetOrder.
Creo que me falta algo que se activa al hacer ese clic, pero luego de varias horas probando aún no se qué.
Gracias nuevamente, y quedo atento a cualquier otro ayuda.
Re: ReSyncWhere: agrega registro al final de oRowSet
Posted: Mon Apr 07, 2025 12:14 pm
by cnavarro
Hello, after, as you say, doing the oBrw:aCols[ n ]:SetOrder( .T. ), the .T. is not necessary if the xbrowse when defined has the lAutosort := .T. or the corresponding clause, do you do the Refresh()? ( Try doing oBrw:GoTop() )
Hola, despues de, como bien dices, hacer el oBrw:aCols[ n ]:SetOrder( .T. ), el .T. no es necesario si el xbrowse al ser definido tiene el lAutosort := .T. o la correspondiente clausula, haces el Refresh() ? ( Prueba haciendo oBrw:GoTop() )