Constante refresco totales rejilla en vista de datos


([N3] GSI) #1

Hola a todos, tengo una pantalla de gestión de presupuestos, donde aparece una vista de datos, con una rejilla que lleva un total de importes que no para de recalcularse, he revisado todo y no hay absolutamente ningún timer, ¿ alguien sabe porque puede ser ?


([N1] ebarbeito) #2

Hola, ¿tal vez porque utilizas campos fórmula en la suma acumulada del total? Cuando se carga una rejilla no se cargan todos los datos de su lista de entrada sino que se van visualizando (cargando) a medida que se hace scroll vertical. Si no he entendido mal la pregunta y no estoy equivocado ¿tal vez venga por esto?

Un saludo


([N3] GSI) #3

Efectivamente el campo Importe total del Presupuesto es el resultado de una formula, y en la rejilla lo totalizo abajo, si es esto, que solución tiene si quiero visualizar el total.


([N1] ebarbeito) #4

Pues no estoy seguro. Depende de si los pies de rejilla de tipo “suma acumulada de toda la columna” actúan sobre la lista cargada en caché o sobre el total de fichas contenidas en la lista.

Una cosa es segura, los campos de tipo fórmula (y los dinámicos, como los punteros virtuales) se evalúan en el momento en que se visualizan. Por lo que estos se van a ir calculando (evaluando) cada vez que hagas scroll vertical. Incluso lo hará N veces, siendo N las veces que se oculta/visualiza mientras efectúas los scrollings.

¿Por qué es campo fórmula? Si todo el contenido de esa fórmula no utiliza información obtenida a través de enlaces/punteros a otras tablas ni de variables, sino que es una operación entre campos propios de la tabla, yo en tal caso emplearía un campo numérico con contenido inicial. De manera que si cualquier elemento del contenido inicial cambia, el valor del campo también lo hará.

Ahora bien, supongamos que el campo que estás sacando el total no es fórmula. Yo diría, por lógica, que aún así el pie de la columna se iría recalculando a medida que haces el scroll. Es decir, que el pie funciona con la lista de fichas cargadas en caché. Y creo que es así porque la columna en tiempo de ejecución, cuando inicializa su componente del pie, sólo puede tener información global de la lista de entrada a la rejilla (por ejemplo el total de elementos del conjunto). Para obtener el cálculo del pie tiene que ir recorriendo secuencialmente el contenido de las fichas que va cargando en caché y a medida que se va haciendo scroll.

Prueba con un campo no fórmula y contenidos inciiales. Pero diría que tampoco funcionaría.

Saludos