Web Components Virtualización y rendimiento de la red jerárquica
En Ignite UI for Web Components, el IgcHierarchicalGridComponent
control virtualiza su contenido tanto vertical como horizontalmente.
Web Components Hierarchical Grid Virtualization and Performance Example
Enabling Virtualization
Ahora IgcHierarchicalGridComponent
optimiza el renderizado del DOM y el consumo de memoria al renderizar solo lo que está visible actualmente en el puerto de vista e intercambiar los datos mostrados mientras el usuario desplaza los datos horizontalmente/verticalmente. Los IgcHierarchicalGridComponent
valores predeterminados y predeterminados width
height
habilitarán 100%
la virtualización si el contenido mostrado no cabe dentro del espacio disponible y se requieren barras de desplazamiento vertical u horizontal.
Sin embargo, también es posible establecer explícitamente los IgcHierarchicalGridComponent
y/o height
, width
lo null
que significa que la dimensión relacionada estará determinada por el tamaño total de los elementos que contienen. A continuación, no se mostrará ninguna barra de desplazamiento y todos los elementos se representarán a lo largo de la dimensión respectiva (columnas si width
es null
y filas si height
es null
).
El tamaño de los fragmentos de datos está determinado por:
- La altura de la fila para la virtualización vertical (fila). Esto está determinado por la opción
rowHeight
y es 50 (px) de forma predeterminada. - Los anchos de columna individuales en píxeles para la virtualización horizontal (columna). Se pueden determinar estableciendo el ancho explícito para cada componente de columna o configurando la
IgcHierarchicalGridComponent
opción scolumnWidth
, que se aplicará a todas las columnas que no tengan establecido el ancho explícito.
En la mayoría de los casos, si se deja que la cuadrícula aplique su comportamiento predeterminado dejando las dimensiones sin establecer, se producirá el diseño deseado. Para los anchos de IgcHierarchicalGridComponent
columna, se determina por el recuento de columnas, las columnas con ancho establecido y el ancho calculado del contenedor. La cuadrícula intentará encajar todas las columnas dentro del espacio disponible siempre que el ancho que intente asignar no sea inferior a 136 (px). En tales casos, las columnas con ancho sin asignar recibirán el ancho mínimo de 136 (px) y se mostrará una barra de desplazamiento horizontal. La cuadrícula se virtualizará horizontalmente.
Establecer explícitamente los anchos de las columnas en porcentajes (%) creará, en la mayoría de los casos, una cuadrícula que no está virtualizada horizontalmente ya que no tendrá una barra de desplazamiento horizontal.
Virtualization Limitations
- En Mac OS, la barra de desplazamiento horizontal no es visible cuando la opción del sistema "Mostrar barras de desplazamiento solo al desplazarse" está configurada en true (que es el valor predeterminado). Esto se debe a que el contenedor de fila
IgcHierarchicalGridComponent
tiene un desbordamiento establecido en oculto. Cambia la opción a "Siempre" y aparecerá la barra de desplazamiento.
FAQ
Why is having dimensions in the Hierarchical Grid is necessary for virtualization to work?
Sin información sobre los tamaños del contenedor y los elementos antes de representarlos, establecer el ancho o el alto de una barra de desplazamiento o determinar cuáles de los elementos deben estar en la vista cuando se desplaza a una ubicación aleatoria en el IgcHierarchicalGridComponent
es erróneo. Cualquier suposición sobre cuáles podrían ser las dimensiones reales podría conducir a un comportamiento antinatural de la barra de desplazamiento y, en última instancia, a una experiencia subóptima para el usuario final. Esta es la razón por la que se aplica la configuración de las dimensiones relacionadas para que la virtualización surta efecto.
API References
Additional Resources
- Paginación
- Filtración
- Clasificación
- resúmenes
- Columna en movimiento
- Fijación de columnas
- Cambio de tamaño de columna
- Selección
Nuestra comunidad es activa y siempre da la bienvenida a nuevas ideas.