Die Komponente ManyToManyLookupEdit bietet einen Inline-Autocomplete-Editor zur Verwaltung von Many-to-Many (N:N)-Beziehungen zwischen Dataverse-Datensätzen. Es zeigt die aktuell zugehörigen Datensätze als Chips an und ermöglicht es Nutzern, Assoziationen zu suchen, hinzuzufügen und zu entfernen, ohne das Formular zu verlassen.
Platzieren Sie die Komponente in a RecordContext und spezifizieren Sie das RelationshipName. Die Komponente löst die zugehörige Tabelle automatisch auf, lädt zugehörige Datensätze und bietet ein durchsuchbares Autocomplete-Dropdown-Menü zum Hinzufügen neuer Assoziationen.
<RecordContext table="account" queryParameterName="id">
<ManyToManyLookupEdit relationshipName="ppp_Account_ppp_Region_ppp_Region" />
</RecordContext><RecordContext TableName="account" QueryParameterName="id">
<ManyToManyLookupEdit RelationshipName="ppp_Account_ppp_Region_ppp_Region" />
</RecordContext>Verwenden ViewIds Sie und DefaultViewId steuern Sie, welche Ansichten für die Suche in verwandten Datensätzen verfügbar sind. Die Spalten der Ansicht werden im Dropdown-Menü angezeigt, um den Nutzern zu helfen, den richtigen Datensatz zu identifizieren. Wenn keine Ansichten angegeben sind, wird die Standard-öffentliche Ansicht für die zugehörige Tabelle verwendet.
<ManyToManyLookupEdit
relationshipName="ppp_Account_ppp_Region_ppp_Region"
viewIds={regionViews}
defaultViewId="..."
/>
const regionViews = ['...', '...'];<ManyToManyLookupEdit RelationshipName="ppp_Account_ppp_Region_ppp_Region"
ViewIds="_regionViews"
DefaultViewId="@(new Guid("..."))" />
@code {
private List<Guid> _regionViews = new List<Guid>
{
new Guid("..."),
new Guid("..."),
};
}Verwenden MinimumNumberOfItems und MaximumNumberOfItems um Beschränkungen für die Anzahl der zugehörigen Datensätze durchzusetzen. Das Festlegen eines Minimums markiert das Feld automatisch bei Anforderung.
<ManyToManyLookupEdit
relationshipName="ppp_Account_ppp_Region_ppp_Region"
minimumNumberOfItems={1}
maximumNumberOfItems={3}
/><ManyToManyLookupEdit RelationshipName="ppp_Account_ppp_Region_ppp_Region"
MinimumNumberOfItems="1"
MaximumNumberOfItems="3" />Änderungen werden als ausstehende Associate- und Disso-Associate-Anfragen erfasst. Wenn der Elternteil MainContext gespeichert wird, werden diese Anfragen zusammen mit anderen Änderungen an den transaktionalen Speichervorgang einbezogen.
<MainContext>
<MenuBar>
<SaveContextButton />
</MenuBar>
<RecordContext table="account" queryParameterName="id">
<ColumnEdit columnName="name" />
<ManyToManyLookupEdit
relationshipName="ppp_Account_ppp_Region_ppp_Region"
minimumNumberOfItems={1}
maximumNumberOfItems={3}
/>
</RecordContext>
</MainContext><MainContext>
<MenuBar>
<SaveContextButton />
</MenuBar>
<RecordContext TableName="account" QueryParameterName="id">
<ColumnEdit ColumnName="name" />
<ManyToManyLookupEdit RelationshipName="ppp_Account_ppp_Region_ppp_Region"
MinimumNumberOfItems="1"
MaximumNumberOfItems="3" />
</RecordContext>
</MainContext>Das folgende Beispiel zeigt eine grundlegende ManyToManyLookupEdit Bindung zu einer viele-zu-viele-Beziehung.
Nutzen Sie die untenstehenden Steuerungen, um die ReadOnly, Disabled, MinimumNumberOfItems, und MaximumNumberOfItems Eigenschaften zu erkunden.
Name | Typ | Default | Beschreibung |
|---|---|---|---|
ChildContent | RenderFragment? | Kindinhalt der Komponente | |
Context | MainContext? | Kaskadierender Kontext, der diesen Editor für koordinierte Speicheroperationen registriert. | |
DefaultViewId | Guid? | Gibt an, welche Ansicht beim Durchsuchen verwandter Datensätze standardmäßig verwendet werden soll. | |
Description | string? | Beschreibung wird im Tooltip angezeigt. | |
Disabled | bool? | Sollte der Editor deaktiviert werden? | |
DisplayLabelWhenAvailable | bool | True | Gibt an, ob eine Etikette angezeigt werden soll, falls verfügbar. |
DisplayTooltipWhenAvailable | bool | True | Gibt an, ob ein Tooltip angezeigt werden soll, falls verfügbar. |
DisplayValidationErrorMessage | bool | True | Sollte eine Fehlermeldung zur Validierung angezeigt werden, wenn die Komponente die Validierung nicht besteht? |
IsDirty | bool | False | Erhält einen Wert, der angibt, ob noch nicht gespeicherte Assoziations- oder Dissoziationsänderungen ausstehen. |
IsVisible | bool | True | Ist der Editor sichtbar? |
Label | string? | Text soll als Etikett für den Editor angezeigt werden. | |
MaximumNumberOfItems | int? | Maximale Anzahl verwandter Datensätze, die ausgewählt werden können. | |
MaxRecordsReturned | int | 20 | Maximale Anzahl der Datensätze, die bei der Suche nach verwandten Datensätzen zurückgegeben werden. |
MinimumNumberOfItems | int? | Mindestanzahl verwandter Datensätze, die ausgewählt werden müssen, damit der Editor als gültig gilt. | |
ReadOnly | bool? | Sollte der Editor nur lesegeschützt sein? | |
RelationshipName* | string | Der Dataverse-Many-to-Many-Relationship-Name, den dieser Redakteur verwaltet. | |
Required | bool? | Sollte der Wert erforderlich sein. | |
ViewIds | List<Guid>? | Begrenzt, welche Ansichten für das Durchsuchen verwandter Datensätze verfügbar sind; wenn leer, wird die Standard-öffentliche Ansicht verwendet. |
ChildContentContextDefaultViewIdDescriptionDisabledDisplayLabelWhenAvailableDisplayTooltipWhenAvailableDisplayValidationErrorMessageIsDirtyIsVisibleLabelMaximumNumberOfItemsMaxRecordsReturnedMinimumNumberOfItemsReadOnlyRelationshipName*RequiredViewIdsName | Parameter | Typ | Beschreibung |
|---|---|---|---|
GetRequests | List<OrganizationRequest> | Gibt die ausstehenden Requests.OrganizationRequest Operationen (assoziieren und disassoziieren) zurück, die ausgeführt werden müssen, um die aktuelle Auswahl aufrechtzuerhalten. | |
GetValidationErrors | List<string> | Gibt Validierungsfehler für die aktuelle Auswahl zurück, einschließlich Verstößen gegen die Regeln zur Mindest- und Maximalanzahl von Artikeln. | |
RefreshAsync | bool forceRefresh | Task | Weist das Gitter an, die aktuellen Daten aus der bereitgestellten Datenquelle erneut abzurufen und darzustellen. |
ResetState | void | Löscht alle ausstehenden Änderungen an Assoziationen und Dissoziationen und setzt den Editor auf seinen zuletzt gespeicherten Zustand zurück. | |
Validate | bool | Gibt |
GetRequestsRequests.OrganizationRequest Operationen (assoziieren und disassoziieren) zurück, die ausgeführt werden müssen, um die aktuelle Auswahl aufrechtzuerhalten.GetValidationErrorsRefreshAsyncResetStateValidate