Tableau
Les tableaux affichent des ensembles de données. Ils peuvent être entièrement personnalisés.
Les tableaux présentent l'information de façon facile à parcourir, afin que les utilisateurs puissent repérer des tendances et en tirer des constats. Ils peuvent être intégrés dans du contenu principal, comme des cartes.
Tableau simple

Un exemple simple, sans fioritures. Les colonnes du tableau sont définies à partir des données.
Tableau avec colonnes personnalisées

Définissez des colonnes personnalisées pour votre tableau.
Tableau avec rendu de colonne personnalisé

Définissez le rendu des colonnes. Le tri et l'exportation fonctionnent toujours pour le tableau.
Largeur des colonnes du tableau
La largeur des colonnes peut être définie à l'aide du paramètre -Width. Vous pouvez aussi choisir de tronquer les colonnes qui dépassent cette largeur.
Filtres
Vous pouvez configurer des filtres personnalisés par colonne. Le tableau prend en charge les filtres text, select, fuzzy , slider, range, date , number et autocomplete.

Options statiques pour les filtres de sélection
Lorsque le traitement côté serveur est utilisé, les filtres disponibles peuvent ne pas afficher l'éventail complet des options, puisque la liste déroulante de sélection n'a accès qu'à la page de résultats actuelle. Pour éviter cela, vous pouvez utiliser le paramètre -Options de New-UDTableColumn.
Recherche
Pour activer la recherche, utilisez le paramètre -ShowSearch de New-UDTable.
Lorsque vous utilisez des colonnes personnalisées, vous devrez ajouter le paramètre -IncludeInSearch aux colonnes que vous souhaitez inclure dans la recherche.
Tableau avec traitement côté serveur
Traitez les données sur le serveur afin de pouvoir effectuer la pagination, le filtrage, le tri et la recherche dans des systèmes comme SQL. Pour implémenter un tableau côté serveur, vous utiliserez le paramètre -LoadData. Ce paramètre accepte un ScriptBlock. La variable $EventData contient de l'information sur l'état du tableau. Vous pouvez utiliser des applets de commande pour traiter les données en fonction de cette information.
Structure de $EventData
L'objet $EventData contient les propriétés suivantes.
Filters
Hashtable[] @{ id = 'fieldName'
value = 'filterValue' }
Une liste de valeurs de filtre. Chaque hashtable comporte une propriété Id et une propriété Value.
OrderBy
Hashtable @{ field = "fieldName" }
Nom de la propriété selon laquelle trier.
OrderDirection
string
asc ou desc selon l'ordre de tri.
Page
int
La page actuelle (commençant à 0).
PageSize
int
La taille de page sélectionnée.
Properties
string[]
Un tableau des propriétés affichées dans le tableau.
Search
string
Une chaîne de recherche fournie par l'utilisateur.
TotalCount
int
Le nombre total d'enregistrements avant le filtrage ou la pagination.
Exemple
Récupérer les données affichées
Vous pourriez vouloir permettre à l'utilisateur d'agir sur l'ensemble de données actuellement affiché. Pour ce faire, utilisez Get-UDElement dans l'objet d'entrée dont vous voulez récupérer les données et obtenez le tableau par Id. Une fois l'élément obtenu, vous pouvez utiliser la propriété Data de l'élément pour obtenir un tableau des lignes actuellement affichées.
Pagination
Par défaut, la pagination est désactivée et les tableaux s'agrandissent selon le nombre de lignes de données que vous fournissez. Vous pouvez activer la pagination en utilisant l'applet de commande -ShowPagination (alias -Paging). Vous pouvez configurer la taille de page à l'aide de l'applet de commande -PageSize.
Désactiver la taille de page « Tout »
Par défaut, le sélecteur de taille de page offre une option pour afficher toutes les lignes. Si vous voulez empêcher les utilisateurs de le faire, utilisez l'applet de commande -DisablePageSizeAll.
Emplacement de la pagination
Vous pouvez modifier l'emplacement du contrôle de pagination en utilisant le paramètre -PaginationLocation. Il accepte top, bottom et both.

Tailles de page
La taille de page est définie à 5 par défaut. Les utilisateurs peuvent ajuster le nombre de lignes par page à l'aide de la liste déroulante Lignes par page. Vous pouvez ajuster la taille de page par défaut en utilisant le paramètre -PageSize. Pour ajuster les valeurs disponibles dans la liste déroulante Lignes par page, vous pouvez passer un tableau d'entiers au paramètre -PageSizeOptions.
Tri
Pour activer le tri d'un tableau, utilisez le paramètre -ShowSort. Lorsque vous activez le tri, vous pourrez cliquer sur les en-têtes du tableau pour trier celui-ci en cliquant sur les en-têtes. Par défaut, le tri multiple est activé. Pour un tri multiple, maintenez la touche Maj enfoncée et cliquez sur un en-tête de colonne.
Vous pouvez contrôler quelles colonnes peuvent être triées en utilisant New-UDTableColumn et le paramètre -ShowSort.
Désactiver le retrait du tri
Par défaut, le tri d'un tableau comporte 3 états. Non trié, croissant et décroissant. Si vous souhaitez désactiver l'état non trié, utilisez le paramètre -DisableSortRemove de New-UDTable.
Sélection
Données de tableau statiques
Les tableaux prennent en charge la sélection de lignes. Vous pouvez créer un gestionnaire d'événement pour le paramètre OnRowSelected afin d'être avisé lorsqu'une nouvelle ligne est sélectionnée ou désélectionnée, ou vous pouvez utiliser Get-UDElement pour récupérer l'ensemble actuel de lignes sélectionnées.
L'exemple suivant crée un tableau avec la sélection de lignes activée. Un toast s'affiche lorsqu'on clique sur la ligne ou sur le bouton GET Rows.

La variable $EventData de l'événement -OnRowSelected inclura toutes les colonnes comme propriétés ainsi qu'une propriété indiquant si la ligne a été sélectionnée ou désélectionnée.
Par exemple, les données du tableau des services ressembleraient à ceci.
Tableaux dynamiques (côté serveur)
Lorsque vous utilisez la sélection et -LoadData, le -OnRowSelected $EventData contiendra les ID des lignes et non les données complètes des lignes. Il indiquera tout de même si la ligne a été sélectionnée ou désélectionnée.
Lignes repliables
Vous pouvez inclure de l'information supplémentaire dans le tableau en utilisant le paramètre -OnRowExpand de New-UDTable. Il accepte un ScriptBlock que vous pouvez utiliser pour retourner des composants supplémentaires.

Exportation
Les tableaux prennent en charge l'exportation des données qu'ils contiennent. Vous pouvez exporter en CSV, XLSX, JSON ou PDF. Vous pouvez définir quelles colonnes inclure dans une exportation et choisir d'exporter uniquement la page actuelle ou toutes les données du tableau.

Colonnes masquées
Les colonnes masquées vous permettent d'inclure des données qui ne sont pas affichées dans le tableau, mais qui sont incluses dans les données exportées.
Ce qui suit masque la colonne StartType à l'utilisateur, mais l'inclut dans l'exportation.
Exportation côté serveur
Vous pouvez contrôler la fonctionnalité d'exportation avec un bloc de script PowerShell. C'est utile lors de l'exportation à partir de sources côté serveur comme des tables de serveur SQL.
Dans cet exemple, j'ai une table SQL qui contient des balados. Lors de l'exportation, vous recevrez de l'information sur l'état actuel du tableau afin de vous permettre de personnaliser les données exportées.
Personnaliser les options d'exportation
Vous pouvez décider quelles options d'exportation présenter à vos utilisateurs à l'aide de l'applet de commande -ExportOption. L'exemple suivant n'afficherait que l'option d'exportation CSV.
Personnaliser les étiquettes
Vous pouvez utiliser le paramètre -TextOption avec l'applet de commande New-UDTableTextOption pour définir les champs de texte dans le tableau.
Actualiser avec un bouton
Paramètre Data
Vous pouvez actualiser un tableau de l'extérieur en le plaçant dans une région dynamique et en utilisant Sync-UDElement.
Cet exemple crée un bouton pour actualiser le tableau.
Paramètre LoadData
Si vous utilisez le paramètre -LoadData, vous pouvez synchroniser le tableau directement. Cela présente l'avantage de conserver l'état du tableau, comme la page et le filtrage, après l'actualisation.
Afficher le bouton d'actualisation
Vous pouvez utiliser le paramètre -ShowRefresh pour fournir un bouton d'actualisation aux tableaux côté serveur.
Couleurs de lignes alternées
Vous pouvez utiliser un thème pour créer un tableau avec des couleurs de lignes alternées.

Styles de lignes personnalisés

Utilisez le paramètre -OnRowStyle pour styliser les lignes selon leur contenu. Retournez un hashtable avec des styles CSS pour la ligne.
API
Voir aussi
Mis à jour
Ce contenu vous a-t-il été utile ?