Sous-grille

Le SubGrid composant affiche les enregistrements Dataverse liés à un enregistrement parent via une relation spécifiée. Il doit être placé à l’intérieur de un RecordContext et nécessite un RelationshipName paramètre qui spécifie quelle relation utiliser.

Types de relations

SubGrid prend en charge à la fois les relations un-à-plusieurs (1 :N) et plusieurs-à-plusieurs (N :N). Le composant détecte automatiquement le type de relation et ajuste son comportement en conséquence.

  • Pour les relations 1 :N, la grille affiche les enregistrements de la table correspondante qui font référence à l’enregistrement parent. Les boutons de la barre d’outils comme NewRecordGridButton, OpenRecordGridButton, et DeleteRecordGridButton servent à créer, modifier et supprimer des enregistrements associés.
  • Pour les relations N :N, la grille affiche les enregistrements associés. Les boutons de la barre d’outils comme LinkExistingRecordGridButton et UnlinkExistingRecordGridButton servent à associer et dissocier des enregistrements. Les opérations de création et de suppression sont automatiquement converties en requêtes d’association et de dissociation.

Vues

Utilisez ViewIds pour spécifier quelles vues sont disponibles dans le menu déroulant du sélecteur de vues, et DefaultViewId pour définir la vue initialement sélectionnée. Si aucune n’est fournie, la grille charge automatiquement toutes les vues publiques pour la table associée. Vous pouvez également fournir CustomViewDefinitions un FetchXML en ligne pour définir les vues directement dans le code.

React
Blazor

Boutons de la barre d’outils

Ajoutez des boutons à la barre d’outils de la grille en utilisant le Buttons fragment de rendu. Consultez la documentation Grid Buttons pour des options de configuration détaillées, notamment le positionnement des dialogues, les formulaires des assistants et le comportement de sauvegarde. Les boutons intégrés suivants sont disponibles :

  • NewRecordGridButton — Ouvre un formulaire de dialogue pour créer un nouvel enregistrement associé (1 :N)
  • OpenRecordGridButton — Ouvre un formulaire de dialogue pour modifier l’enregistrement sélectionné
  • DeleteRecordGridButton — Supprime des enregistrements sélectionnés
  • LinkExistingRecordGridButton — Associe un enregistrement existant via une relation N :N
  • UnlinkExistingRecordGridButton — Dissocie des documents sélectionnés issus d’une relation N :N
  • NavigateNewRecordGridButton — Navigue vers une URL pour créer un nouvel enregistrement
  • NavigateOpenRecordGridButton — Navigue vers une URL pour modifier l’enregistrement sélectionné
React
Blazor

Montage en ligne

Configurez AllowEdit="true" pour activer un bouton de réglage permettant aux utilisateurs de passer en mode édition en ligne. Une fois activées, les colonnes modifiables s’affichent comme des contrôles de formulaire directement dans la grille. L’édition en ligne n’est prise en charge que pour les relations 1 :N.

React
Blazor

Paginage et recherche

La grille prend en charge la navigation par pages avec des tailles de page configurables via DefaultItemsPerPage et PageSizes. La recherche est activée par défaut et peut être désactivée avec AllowSearch="false".

React
Blazor

Sous-grille (relation Un à Plusieurs)

L’exemple suivant montre un SubGrid affichage des contacts liés à un compte via la contact_customer_accounts relation. Il comprend des boutons pour créer, modifier et supprimer des contacts.

Exemple de réaction
Exemple de Blazor
Mes contactsTous les contacts
Nouveau
Mes contactsTous les contacts
Nouveau

Taille de la page

102050100
Nom complet
Téléphone mobile
Messagerie électronique
Nom de l’entreprise
Âge
Bradford Kiehn(878) 546-1743Bradford.Kiehn13@yahoo.comAbernathy - MacGyver64
Jaydon Baumbach(091) 769-5345Jaydon.Baumbach5@gmail.comAbernathy - MacGyver63
Karlee Kuphal(651) 890-0779Karlee11@yahoo.comAbernathy - MacGyver59
Keshawn Lubowitz(405) 079-0110Keshawn_Lubowitz@yahoo.comAbernathy - MacGyver24
Salma Yost(175) 474-8388Salma_Yost@yahoo.comAbernathy - MacGyver55
React TypeScript
Razor
AccountAndContactCustomViews.cs

Sous-grille (relation de nombreux à plusieurs)

L’exemple suivant montre une SubGrid région affichant un compte via la ppp_Account_ppp_Region_ppp_Region relation plusieurs-à-plusieurs.

Exemple de réaction
Exemple de Blazor
Régions activesRégions inactives
Lien existant
Régions activesRégions inactives
Lien existant

Taille de la page

102050100
Nom
Aucun document trouvé.
React TypeScript
Razor
Réagir Blazor

SubGrid Classe

Paramètres

Nom
Type
Par défaut
Description
AllowChangingPageSizebool
True
Lorsque c’est vrai, l’utilisateur peut modifier le nombre d’éléments affichés par page.
AllowDownloadForFileColumnsbool
True
Lorsque c’est vrai (par défaut), la grille affiche une icône de téléchargement par ligne au niveau bord arrière des cellules de colonnes de fichiers et d’images. Cliquer dessus diffuse le fichier vers le navigateur de l’utilisateur. Réglez sur false pour supprimer l’icône — par exemple en lecture seule Grilles d’audit où l’exportation de fichiers n’est pas autorisée.
AllowEditbool
False
L’option devrait-elle être disponible pour l’utilisateur afin d’activer le montage en ligne pour la grille ?
AllowNavigateOnPrimaryNameClickbool
True
Lorsque c’est vrai (par défaut) et que la grille possède un bouton « modifier » enregistré (un GridButton avec IsOpenRecordButton=true), la cellule qui affiche la colonne du nom principal du tableau devient un hyperlien. Cliquer dessus envoie la même chose invocation par ligne qu’un double-clic sur ligne ferait — afin qu’un utilisateur puisse passer directement à la modification form (ou l’URL d’édition naviguée, selon le bouton enregistré) sans d’abord Sélectionner la ligne. Régler sur false pour supprimer le lien hypertexte et rendre le cellule de nom primaire en texte clair. Cela n’a aucun effet quand aucun bouton d’édition n’est enregistré.
AllowNavigateOnRowDoubleClickbool
True
Lorsque c’est vrai (par défaut) et que la grille possède un bouton « modifier » enregistré (un GridButton avec IsOpenRecordButton=true), double-cliquant sur une ligne invoque l’OnClick de ce bouton pour l’enregistrement — ouverture de la ligne la boîte de dialogue d’édition ou la navigation vers l’URL d’édition, selon ce que le bouton utilise. Réglé à faux pour supprimer le gestionnaire de double-clic. Ça n’a aucun effet quand il n’y a pas de bouton d’édition est enregistré.
AllowPreviewForFileColumnsbool
True
Lorsque c’est vrai (par défaut), la grille affiche une icône d’aperçu « œil » par ligne au niveau Bord arrière des cellules de colonnes de fichiers et d’images dont le contenu peut être rendu en ligne (images, PDF, texte brut). Réglez sur false pour supprimer l’icône — par exemple sur des grilles où les colonnes ne devraient pas servir de point d’entrée de prévisualisation.
AllowSearchbool
True
L’utilisateur devrait-il être autorisé à rechercher dans la grille ?
BorderVisiblebool
True
Contrôle si une bordure visible est rendue autour de la grille.
ButtonsRenderFragment?
Fragment de rendu optionnel utilisé pour définir la barre d’outils de boutons affichée au-dessus de la grille.
ColumnsRenderFragment?
Fragment optionnel Components.GridColumns transportant des déclarations consommateurs Components.GridColumn des enfants. Une fois fourni, le réseau bascule vers mode remplacement : seules les colonnes déclarées s’affichent (dans déclaré la projection FetchXML est réécrite pour correspondre, et le La liste de colonnes de la vue sous-jacente est ignorée. null laisse la grille dans son comportement par défaut (générer automatiquement des colonnes à partir de le jeu de colonnes résolu de la vue).
CustomViewDefinitionsList<GridViewDefinition>?
Des vues personnalisées à afficher dans le menu déroulant.
DataSourceViewDataSource?
Optionnel partagé Data.ViewDataSource. Une fois réglée, la grille lit ses lignes + le nombre total de la source de données au lieu de publiant ses propres RetrieveRecordsAsync(System.String) appel — La même source de données peut piloter un frère ou une sœur <DataverseChart> ou une seconde grille pour qu’ils soient tous Paginar / filtrer / rechercher ensemble sur un aller-retour. L’usage autonome (non GridBase.DataSource) conserve le machine à états internes existante — la grille compose FetchXML et obtiens directement via IPowerPortalsProService . Ce que la source de données ne possède PAS : l’interface utilisateur par grille état (lignes sélectionnées, ligne en attente créée / mise à jour / supprimée, largeurs de colonnes). Celles-ci restent locales en grille — deux grilles partageant une seule La source de données peut toujours avoir une sélection indépendante et par grille modifications en attente. Lorsque ViewDataSource.Highlight est défini (par exemple via un clique sur la tranche de graphique en mode « surbrillance » par filtre croisé), lignes dont La valeur dans la colonne surlignée ne correspond pas visuellement à étouffé via une classe CSS ; Les données de ligne + sélection sont non affecté (le filtre croisé doux est purement stylisé).
DefaultItemsPerPageint
50
Nombre par défaut d’enregistrements à charger sur une page.
DefaultViewIdGuid?
ID de la vue que la grille doit afficher lors du chargement initial.
Editablebool
False
Le montage en ligne est-il activé pour la grille.
FiltersIReadOnlyList<GridFilterBase>?
Des filtres côté serveur supplémentaires ET fusionnés dans les vues résolues FetchXML avant de paginar, trier ou chercher se déclenche. Transmis à Query.IFetchXmlQueryComposer's FetchXmlQueryOptions.Filters, Ainsi, chaque entrée est distribuée par type d’exécution (par exemple, Models.RelationshipFilter ET fusionne une entité lien-relation). Utilisation typique : le sélecteur LinkExistingRecordGridGrid transmet un Models.RelationshipFilter avec RelationshipFilterMode.ExcludeExistingRecords Donc déjà— les enregistrements liés sont cachés dans la boîte de dialogue de recherche M2M. Se combine de manière additive avec l’interne propre de SubGrid filtre de relation (qui est intégré directement dans le FetchXML plutôt que de passer par la fente Filtres du compositeur) — les deux extrémités dans la même question.
FullSizebool
False
Lorsque c’est vrai, la grille s’élargit pour remplir tout l’espace vertical disponible au lieu d’utiliser une hauteur minimale fixe.
HidePagingbool
False
Forcez la taille de la page et les composants de pagination à être masqués. Ne faites cela que lorsque le nombre d’éléments est connu et que la taille de la page est réglée à un niveau supérieur au nombre d’éléments.
IncludeSearchInPersistedStatebool
False
Lorsque c’est vrai, le texte de recherche active est inclus dans le persisté paramètre URL d’état (sous le champ q ). Par défaut, le faux est — les termes de recherche peuvent être sensibles, s’accumuler dans l’historique du navigateur, et fuient vers les référents HTTP, donc la grille les empêche d’accéder à l’URL sauf si Le consommateur s’inscrit explicitement. Ça n’a aucun effet quand GridBase.PersistedStateQueryParameter n’est pas fixé.
IsDirtybool
False
Indique si la grille a des opérations de création, mise à jour ou suppression non enregistrées en attente.
LoadedRecordsIEnumerable<TableRecord>
Enregistrements actuellement rendus dans la grille (la page la plus récente des résultats). Destiné aux commandes de barre d’outils qui doivent agir sur « tout ce qui est affiché » — par exemple un bloc Bouton de téléchargement. Il ne s’étend pas sur des pages ; Les opérations de masse à travers les pages devraient exécuter leur À la place, je suis un ballon non pagé à la place.
MaxHeightstring?
Hauteur maximale que le contrôle de la grille devrait atteindre.
MinHeightstring?
300px
Hauteur minimale que devrait occuper le contrôle de la grille.
ModeGridMode
RecordSelection
Définit le mode comportemental de la grille, comme l’interaction par défaut ou le mode de sélection d’enregistrements.
PageSizesIEnumerable<int>
Collection des tailles de pages disponibles pour la grille.
PagingModeGridPagingMode
Paged
Détermine si la grille utilise un paginage traditionnel ou une virtualisation à défilement infini.
PersistedRowsSnapshotPersistedGridRowsSnapshot?
Le pré-rendu serveur → transfert interactif pour la page de lignes rendue en ligne. Le cadre Cette propriété persiste automatiquement à la fin du pré-rendu et la réhydrate avant GridBase.OnInitializedAsync du côté interactif, donc la récupération de données peut être J’ai sauté le premier rendu interactif. Clé par position de l’arbre de rendu par le framework ; Le PersistedGridRowsSnapshot.ViewId champ est vérifié à la consommation Un retour de rendu contre une autre vue élimine les rangées obsolètes. Public selon le exigence du cadre — [PersistentState] ne voit les propriétés publiques que via réflexion — mais pas destinée à être imposée à l’extérieur.
PersistedStateQueryParameterstring?
Nom du paramètre de la chaîne de requête URL pour maintenir l’interactivité de la grille État. Une fois réglé, la grille lit ce paramètre lors de la charge initiale et seed la vue active, le numéro de page, la taille de la page, et le tri à partir de celle-ci ; Actions ultérieures de l’utilisateur (Vue de la préparation, changement de page, tri d’en-tête, etc.) Écrivez le nouvel état via Components.NavigationManager's Voie de remplacement d’état. La persistance survit au rafraîchissement de la page et aux favoris.
RecordTableRecord?
L’enregistrement parent fourni via un paramètre en cascade ; Les documents associés sont filtrés selon l’identité de cet enregistrement.
RelationshipName*string
Le nom du schéma de la relation utilisée pour filtrer et afficher les enregistrements associés dans cette sous-grille.
SelectedRecordsIEnumerable<TableRecord>
Les records actuellement sélectionnés dans la grille.
SelectFromEntireRowbool
True
Lorsque c’est vrai, cliquer n’importe où sur une ligne la sélectionne ; En cas de faux, seule la case à cocher sélectionne la ligne.
SelectModeDataGridSelectMode
Multiple
Contrôle si la grille permet la sélection d’une ou plusieurs lignes.
Titlestring?
Nom à afficher lorsque le menu déroulant de la vue n’est pas affiché.
TransformViewAsyncFunc<GridViewDefinition, Task<GridViewDefinition>>?
Rappel optionnel qui s’exécute immédiatement après le chargement d’une vue et avant que la grille ne soit utilisée C’est pour construire des colonnes ou des requêtes. Retourner un modifié Models.GridViewDefinition à Transformer ce que la grille rend finalement — par exemple, pour garantir une colonne spécifique est toujours présent, quelle que soit la configuration propre à la vue. Asynchrone pour que les appelants puissent Consultez les caches de métadonnées, les services ou d’autres ressources ASYNC lors de la décision de quoi choisir inclure.
ViewIdsIEnumerable<Guid>?
Liste des identifiants des vues auxquelles la grille doit se limiter dans le menu déroulant des vues.
ViewSortViewSort
NameAscending
Classez les vues dans le menu déroulant des vues.
Nom: AllowChangingPageSize
Type: bool
Par défaut: True
Description: Lorsque c’est vrai, l’utilisateur peut modifier le nombre d’éléments affichés par page.
Nom: AllowDownloadForFileColumns
Type: bool
Par défaut: True
Description: Lorsque c’est vrai (par défaut), la grille affiche une icône de téléchargement par ligne au niveau bord arrière des cellules de colonnes de fichiers et d’images. Cliquer dessus diffuse le fichier vers le navigateur de l’utilisateur. Réglez sur false pour supprimer l’icône — par exemple en lecture seule Grilles d’audit où l’exportation de fichiers n’est pas autorisée.
Nom: AllowEdit
Type: bool
Par défaut: False
Description: L’option devrait-elle être disponible pour l’utilisateur afin d’activer le montage en ligne pour la grille ?
Nom: AllowNavigateOnPrimaryNameClick
Type: bool
Par défaut: True
Description: Lorsque c’est vrai (par défaut) et que la grille possède un bouton « modifier » enregistré (un GridButton avec IsOpenRecordButton=true), la cellule qui affiche la colonne du nom principal du tableau devient un hyperlien. Cliquer dessus envoie la même chose invocation par ligne qu’un double-clic sur ligne ferait — afin qu’un utilisateur puisse passer directement à la modification form (ou l’URL d’édition naviguée, selon le bouton enregistré) sans d’abord Sélectionner la ligne. Régler sur false pour supprimer le lien hypertexte et rendre le cellule de nom primaire en texte clair. Cela n’a aucun effet quand aucun bouton d’édition n’est enregistré.
Nom: AllowNavigateOnRowDoubleClick
Type: bool
Par défaut: True
Description: Lorsque c’est vrai (par défaut) et que la grille possède un bouton « modifier » enregistré (un GridButton avec IsOpenRecordButton=true), double-cliquant sur une ligne invoque l’OnClick de ce bouton pour l’enregistrement — ouverture de la ligne la boîte de dialogue d’édition ou la navigation vers l’URL d’édition, selon ce que le bouton utilise. Réglé à faux pour supprimer le gestionnaire de double-clic. Ça n’a aucun effet quand il n’y a pas de bouton d’édition est enregistré.
Nom: AllowPreviewForFileColumns
Type: bool
Par défaut: True
Description: Lorsque c’est vrai (par défaut), la grille affiche une icône d’aperçu « œil » par ligne au niveau Bord arrière des cellules de colonnes de fichiers et d’images dont le contenu peut être rendu en ligne (images, PDF, texte brut). Réglez sur false pour supprimer l’icône — par exemple sur des grilles où les colonnes ne devraient pas servir de point d’entrée de prévisualisation.
Nom: AllowSearch
Type: bool
Par défaut: True
Description: L’utilisateur devrait-il être autorisé à rechercher dans la grille ?
Nom: BorderVisible
Type: bool
Par défaut: True
Description: Contrôle si une bordure visible est rendue autour de la grille.
Nom: Buttons
Type: RenderFragment?
Description: Fragment de rendu optionnel utilisé pour définir la barre d’outils de boutons affichée au-dessus de la grille.
Nom: Columns
Type: RenderFragment?
Description: Fragment optionnel Components.GridColumns transportant des déclarations consommateurs Components.GridColumn des enfants. Une fois fourni, le réseau bascule vers mode remplacement : seules les colonnes déclarées s’affichent (dans déclaré la projection FetchXML est réécrite pour correspondre, et le La liste de colonnes de la vue sous-jacente est ignorée. null laisse la grille dans son comportement par défaut (générer automatiquement des colonnes à partir de le jeu de colonnes résolu de la vue).
Nom: CustomViewDefinitions
Type: List<GridViewDefinition>?
Description: Des vues personnalisées à afficher dans le menu déroulant.
Nom: DataSource
Type: ViewDataSource?
Description: Optionnel partagé Data.ViewDataSource. Une fois réglée, la grille lit ses lignes + le nombre total de la source de données au lieu de publiant ses propres RetrieveRecordsAsync(System.String) appel — La même source de données peut piloter un frère ou une sœur <DataverseChart> ou une seconde grille pour qu’ils soient tous Paginar / filtrer / rechercher ensemble sur un aller-retour. L’usage autonome (non GridBase.DataSource) conserve le machine à états internes existante — la grille compose FetchXML et obtiens directement via IPowerPortalsProService . Ce que la source de données ne possède PAS : l’interface utilisateur par grille état (lignes sélectionnées, ligne en attente créée / mise à jour / supprimée, largeurs de colonnes). Celles-ci restent locales en grille — deux grilles partageant une seule La source de données peut toujours avoir une sélection indépendante et par grille modifications en attente. Lorsque ViewDataSource.Highlight est défini (par exemple via un clique sur la tranche de graphique en mode « surbrillance » par filtre croisé), lignes dont La valeur dans la colonne surlignée ne correspond pas visuellement à étouffé via une classe CSS ; Les données de ligne + sélection sont non affecté (le filtre croisé doux est purement stylisé).
Nom: DefaultItemsPerPage
Type: int
Par défaut: 50
Description: Nombre par défaut d’enregistrements à charger sur une page.
Nom: DefaultViewId
Type: Guid?
Description: ID de la vue que la grille doit afficher lors du chargement initial.
Nom: Editable
Type: bool
Par défaut: False
Description: Le montage en ligne est-il activé pour la grille.
Nom: Filters
Type: IReadOnlyList<GridFilterBase>?
Description: Des filtres côté serveur supplémentaires ET fusionnés dans les vues résolues FetchXML avant de paginar, trier ou chercher se déclenche. Transmis à Query.IFetchXmlQueryComposer's FetchXmlQueryOptions.Filters, Ainsi, chaque entrée est distribuée par type d’exécution (par exemple, Models.RelationshipFilter ET fusionne une entité lien-relation). Utilisation typique : le sélecteur LinkExistingRecordGridGrid transmet un Models.RelationshipFilter avec RelationshipFilterMode.ExcludeExistingRecords Donc déjà— les enregistrements liés sont cachés dans la boîte de dialogue de recherche M2M. Se combine de manière additive avec l’interne propre de SubGrid filtre de relation (qui est intégré directement dans le FetchXML plutôt que de passer par la fente Filtres du compositeur) — les deux extrémités dans la même question.
Nom: FullSize
Type: bool
Par défaut: False
Description: Lorsque c’est vrai, la grille s’élargit pour remplir tout l’espace vertical disponible au lieu d’utiliser une hauteur minimale fixe.
Nom: HidePaging
Type: bool
Par défaut: False
Description: Forcez la taille de la page et les composants de pagination à être masqués. Ne faites cela que lorsque le nombre d’éléments est connu et que la taille de la page est réglée à un niveau supérieur au nombre d’éléments.
Nom: IncludeSearchInPersistedState
Type: bool
Par défaut: False
Description: Lorsque c’est vrai, le texte de recherche active est inclus dans le persisté paramètre URL d’état (sous le champ q ). Par défaut, le faux est — les termes de recherche peuvent être sensibles, s’accumuler dans l’historique du navigateur, et fuient vers les référents HTTP, donc la grille les empêche d’accéder à l’URL sauf si Le consommateur s’inscrit explicitement. Ça n’a aucun effet quand GridBase.PersistedStateQueryParameter n’est pas fixé.
Nom: IsDirty
Type: bool
Par défaut: False
Description: Indique si la grille a des opérations de création, mise à jour ou suppression non enregistrées en attente.
Nom: LoadedRecords
Type: IEnumerable<TableRecord>
Description: Enregistrements actuellement rendus dans la grille (la page la plus récente des résultats). Destiné aux commandes de barre d’outils qui doivent agir sur « tout ce qui est affiché » — par exemple un bloc Bouton de téléchargement. Il ne s’étend pas sur des pages ; Les opérations de masse à travers les pages devraient exécuter leur À la place, je suis un ballon non pagé à la place.
Nom: MaxHeight
Type: string?
Description: Hauteur maximale que le contrôle de la grille devrait atteindre.
Nom: MinHeight
Type: string?
Par défaut: 300px
Description: Hauteur minimale que devrait occuper le contrôle de la grille.
Nom: Mode
Type: GridMode
Par défaut: RecordSelection
Description: Définit le mode comportemental de la grille, comme l’interaction par défaut ou le mode de sélection d’enregistrements.
Nom: PageSizes
Type: IEnumerable<int>
Description: Collection des tailles de pages disponibles pour la grille.
Nom: PagingMode
Type: GridPagingMode
Par défaut: Paged
Description: Détermine si la grille utilise un paginage traditionnel ou une virtualisation à défilement infini.
Nom: PersistedRowsSnapshot
Type: PersistedGridRowsSnapshot?
Description: Le pré-rendu serveur → transfert interactif pour la page de lignes rendue en ligne. Le cadre Cette propriété persiste automatiquement à la fin du pré-rendu et la réhydrate avant GridBase.OnInitializedAsync du côté interactif, donc la récupération de données peut être J’ai sauté le premier rendu interactif. Clé par position de l’arbre de rendu par le framework ; Le PersistedGridRowsSnapshot.ViewId champ est vérifié à la consommation Un retour de rendu contre une autre vue élimine les rangées obsolètes. Public selon le exigence du cadre — [PersistentState] ne voit les propriétés publiques que via réflexion — mais pas destinée à être imposée à l’extérieur.
Nom: PersistedStateQueryParameter
Type: string?
Description: Nom du paramètre de la chaîne de requête URL pour maintenir l’interactivité de la grille État. Une fois réglé, la grille lit ce paramètre lors de la charge initiale et seed la vue active, le numéro de page, la taille de la page, et le tri à partir de celle-ci ; Actions ultérieures de l’utilisateur (Vue de la préparation, changement de page, tri d’en-tête, etc.) Écrivez le nouvel état via Components.NavigationManager's Voie de remplacement d’état. La persistance survit au rafraîchissement de la page et aux favoris.
Nom: Record
Type: TableRecord?
Description: L’enregistrement parent fourni via un paramètre en cascade ; Les documents associés sont filtrés selon l’identité de cet enregistrement.
Nom: RelationshipName*
Type: string
Description: Le nom du schéma de la relation utilisée pour filtrer et afficher les enregistrements associés dans cette sous-grille.
Nom: SelectedRecords
Type: IEnumerable<TableRecord>
Description: Les records actuellement sélectionnés dans la grille.
Nom: SelectFromEntireRow
Type: bool
Par défaut: True
Description: Lorsque c’est vrai, cliquer n’importe où sur une ligne la sélectionne ; En cas de faux, seule la case à cocher sélectionne la ligne.
Nom: SelectMode
Type: DataGridSelectMode
Par défaut: Multiple
Description: Contrôle si la grille permet la sélection d’une ou plusieurs lignes.
Nom: Title
Type: string?
Description: Nom à afficher lorsque le menu déroulant de la vue n’est pas affiché.
Nom: TransformViewAsync
Type: Func<GridViewDefinition, Task<GridViewDefinition>>?
Description: Rappel optionnel qui s’exécute immédiatement après le chargement d’une vue et avant que la grille ne soit utilisée C’est pour construire des colonnes ou des requêtes. Retourner un modifié Models.GridViewDefinition à Transformer ce que la grille rend finalement — par exemple, pour garantir une colonne spécifique est toujours présent, quelle que soit la configuration propre à la vue. Asynchrone pour que les appelants puissent Consultez les caches de métadonnées, les services ou d’autres ressources ASYNC lors de la décision de quoi choisir inclure.
Nom: ViewIds
Type: IEnumerable<Guid>?
Description: Liste des identifiants des vues auxquelles la grille doit se limiter dans le menu déroulant des vues.
Nom: ViewSort
Type: ViewSort
Par défaut: NameAscending
Description: Classez les vues dans le menu déroulant des vues.

Événements

Nom
Type
Description
EditableChangedEventCallback<bool>
Rappel invoqué lorsque l’état de l’édition en ligne change.
SelectedRecordsChangedEventCallback<IEnumerable<TableRecord>>
Rappel invoqué lorsque la collection de documents sélectionnés change.
Nom: EditableChanged
Type: EventCallback<bool>
Description: Rappel invoqué lorsque l’état de l’édition en ligne change.
Nom: SelectedRecordsChanged
Type: EventCallback<IEnumerable<TableRecord>>
Description: Rappel invoqué lorsque la collection de documents sélectionnés change.

Méthodes

Nom
Paramètres
Type
Description
ClearSelectionAsyncTask
Efface toutes les lignes actuellement sélectionnées.
OpenFileDownloadAsyncTableRecord record
string columnName
Task
Récupère les octets de la colonne du fichier/image et record les diffuse en flux vers le navigateur de l’utilisateur en téléchargement. Invoqué par l’icône de téléchargement par ligne dans le fichier et des cellules d’image.
OpenFilePreviewAsyncTableRecord record
string columnName
Task
Ouvre la boîte de dialogue d’aperçu en ligne pour la colonne columnName fichier/image sur record. Invoqué par l’icône d’aperçu par ligne dans les cellules de fichier/image et également disponible pour composer des composants (par exemple, un bouton de barre d’outils sur un wrapping Grid) qui souhaitent un point d’entrée programmatique.
RefreshAsyncbool forceRefresh
Task
Demande à la grille de récupérer et de rendre les données courantes de la source de données fournie.
Validatebool
Valide toutes les lignes modifiables de la grille.
Nom: ClearSelectionAsync
Type: Task
Description: Efface toutes les lignes actuellement sélectionnées.
Nom: OpenFileDownloadAsync
Paramètres: TableRecord record
string columnName
Type: Task
Description: Récupère les octets de la colonne du fichier/image et record les diffuse en flux vers le navigateur de l’utilisateur en téléchargement. Invoqué par l’icône de téléchargement par ligne dans le fichier et des cellules d’image.
Nom: OpenFilePreviewAsync
Paramètres: TableRecord record
string columnName
Type: Task
Description: Ouvre la boîte de dialogue d’aperçu en ligne pour la colonne columnName fichier/image sur record. Invoqué par l’icône d’aperçu par ligne dans les cellules de fichier/image et également disponible pour composer des composants (par exemple, un bouton de barre d’outils sur un wrapping Grid) qui souhaitent un point d’entrée programmatique.
Nom: RefreshAsync
Paramètres: bool forceRefresh
Type: Task
Description: Demande à la grille de récupérer et de rendre les données courantes de la source de données fournie.
Nom: Validate
Type: bool
Description: Valide toutes les lignes modifiables de la grille.