Tamaño de cuadrícula jerárquica Angular
El diseño de IgxHierarchicalGrid se basa en las pautas de diseño de materiales. Actualmente ofrecemos una opción para elegir entre un conjunto predefinido de opciones de tamaño que brindarán una vista pequeña, mediana o grande respectivamente. Al seleccionar el tamaño correcto para su tabla Material UI/cuadrícula Material UI, puede mejorar significativamente la experiencia del usuario al interactuar con grandes cantidades de contenido.
Angular Hierarchical Grid Size Example
Usage
Como puede ver en la demostración anterior, IgxHierarchicalGrid ofrece tres opciones de tamaño: pequeño, mediano y grande. El siguiente fragmento de código muestra cómo configurar el tamaño:
<igx-hierarchical-grid #hierarchicalGrid [data]="data" style="--ig-size: var(--ig-size-small)">
</igx-hierarchical-grid>
Y ahora veamos en detalle cómo se refleja cada opción en el componente Cuadrícula Jerárquica. Cuando cambia entre diferentes tamaños, se cambiará la altura de cada elemento de la cuadrícula jerárquica y los rellenos correspondientes. Además, si desea aplicar un ancho de columna personalizado, considere el hecho de que debe ser mayor que la suma del relleno izquierdo y derecho.
- --ig-size-large- este es el tamaño predeterminado de la Cuadrícula Jerárquica con la intensidad más baja y la altura de fila iguales a
50px. Los acolchones izquierdo y derecho son24px; La columnawidthmínima es80px; - --ig-talla-media- es la talla media con
40pxaltura de fila. Los acolchones izquierdo y derecho son16px; La columnawidthmínima es64px; - --ig-tamaño-pequeño- Este es el tamaño más pequeño con
32pxaltura de fila. Los acolchones izquierdo y derecho son12px; La columnawidthmínima es56px;
Note
Tenga en cuenta que actualmente no puede anular ninguno de los tamaños.
Continuemos ahora con nuestro ejemplo y veamos en acción cómo se aplica cada tamaño. Primero agreguemos un botón que nos ayudará a cambiar entre cada tamaño:
<div class="density-chooser">
<igx-buttongroup [values]="sizes"></igx-buttongroup>
</div>
@ViewChild(IgxButtonGroupComponent) public buttonGroup: IgxButtonGroupComponent;
public size = 'small';
public sizes;
public ngOnInit() {
this.sizes = [
{
label: 'small',
selected: this.size === 'small',
togglable: true
},
{
label: 'medium',
selected: this.sie === 'medium',
togglable: true
},
{
label: 'large',
selected: this.size === 'large',
togglable: true
}
];
}
Ahora podemos agregar el marcado.
<div class="density-chooser">
<igx-buttongroup [values]="sizes" (selected)="selectSize($event)"></igx-buttongroup>
</div>
<igx-hierarchical-grid #hGrid [data]="localdata" [height]="'600px'" [width]="'100%'" [allowFiltering]="true">
<igx-column field="CustomerID"></igx-column>
<igx-column field="CompanyName"></igx-column>
<igx-column field="ContactName"></igx-column>
<igx-column field="ContactTitle"></igx-column>
<igx-column field="Address"></igx-column>
<igx-column field="City"></igx-column>
<igx-column field="PostalCode"></igx-column>
<igx-column field="Country"></igx-column>
<igx-column field="Phone"></igx-column>
<igx-column field="Fax"></igx-column>
<igx-row-island [key]="'Orders'" [autoGenerate]="false" #layout1 >
<igx-column field="OrderID"></igx-column>
<igx-column field="EmployeeID"></igx-column>
<igx-column field="OrderDate"></igx-column>
<igx-column field="RequiredDate"></igx-column>
<igx-column field="ShippedDate"></igx-column>
<igx-column field="ShipVia"></igx-column>
<igx-column field="Freight"></igx-column>
<igx-column field="ShipName"></igx-column>
<igx-column field="ShipAddress"></igx-column>
<igx-column field="ShipCity"></igx-column>
<igx-column field="ShipPostalCode"></igx-column>
<igx-column field="ShipCountry"></igx-column>
<igx-row-island [key]="'OrderDetails'" [autoGenerate]="false">
<igx-column field="ProductID"></igx-column>
<igx-column field="UnitPrice"></igx-column>
<igx-column field="Quantity"></igx-column>
<igx-column field="Discount"></igx-column>
</igx-row-island>
</igx-row-island>
</igx-hierarchical-grid>
Finalmente, proporcionemos la lógica necesaria para aplicar realmente el tamaño:
@ViewChild('hierarchicalGrid', { read: IgxHierarchicalGridComponent })
public hierarchicalGrid: IgxHierarchicalGridComponent;
public selectSize(event: any) {
this.size = this.sizes[event.index].label;
}
@HostBinding('style.--ig-size')
protected get sizeStyle() {
return `var(--ig-size-${this.size})`;
}
Otra opción que ofrece IgxHierarchicalGrid para poder cambiar la altura de las filas en la Jerarchical Grid es la propiedadrowHeight. Así que veamos en acción cómo esta propiedad afecta al diseño de la cuadrícula jerárquica junto con la--ig-size variable CSS.
Por favor tenga en cuenta lo siguiente:
--ig-sizeLa variable CSS NO tendrá impacto en la altura de la fila si se especifica la altura de la fila;--ig-sizeafectará a todos los demás elementos de la Cuadrícula Jerárquica, como se ha descrito anteriormente;
Y ahora podemos ampliar nuestra muestra y añadirrowHeight propiedades a la Cuadrícula Jerárquica:
<igx-hierarchical-grid #hierarchicalGrid [data]="data" [rowHeight]="'80px'" width="100%"
height="550px" [allowFiltering]="true">
..............
</igx-hierarchical-grid>
API References
Additional Resources
- Descripción general de la cuadrícula jerárquica
- Virtualización y rendimiento
- Edición
- Paginación
- Filtración
- Clasificación
- resúmenes
- Fijación de columnas
- Cambio de tamaño de columna
- Selección