O ManyToManyLookupEdit componente fornece um editor de autopreenchimento inline para gerenciar relações muitos-para-muitos (N:N) entre registros do Dataverse. Ele exibe os registros atualmente associados como chips e permite que os usuários pesquisem, adicionem e removam associações sem precisar sair do formulário.
Coloque o componente dentro de a RecordContext e especifique o RelationshipName. O componente resolve automaticamente a tabela relacionada, carrega os registros associados e fornece um menu suspenso de autopreenchimento pesquisável para adicionar novas associações.
<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>Use ViewIds e DefaultViewId para controlar quais visualizações estão disponíveis para busca em registros relacionados. As colunas da visualização são exibidas no menu suspenso para ajudar os usuários a identificar o registro correto. Se nenhuma visualização for especificada, a visualização pública padrão para a tabela relacionada é utilizada.
<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("..."),
};
}Use MinimumNumberOfItems e MaximumNumberOfItems para impor restrições ao número de registros associados. Definir um mínimo marca automaticamente o campo como necessário.
<ManyToManyLookupEdit
relationshipName="ppp_Account_ppp_Region_ppp_Region"
minimumNumberOfItems={1}
maximumNumberOfItems={3}
/><ManyToManyLookupEdit RelationshipName="ppp_Account_ppp_Region_ppp_Region"
MinimumNumberOfItems="1"
MaximumNumberOfItems="3" />As mudanças são acompanhadas como solicitações pendentes de associados e dissociações. Quando o pai MainContext é salvo, essas solicitações são incluídas na operação de salvamento transacional junto com quaisquer outras alterações de registro.
<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>O exemplo a seguir mostra um vínculo básico ManyToManyLookupEdit para uma relação muitos-para-muitos.
Use os controles abaixo para explorar as ReadOnlypropriedades , Disabled, MinimumNumberOfItems, e MaximumNumberOfItems .
Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
ChildContent | RenderFragment? | Conteúdo filho do componente | |
Context | MainContext? | Contexto em cascata que registra este editor para operações de salvamento coordenadas. | |
DefaultViewId | Guid? | Especifica qual visualização deve ser usada como padrão ao navegar por registros relacionados. | |
Description | string? | Descrição será exibida na dica de ferramenta. | |
Disabled | bool? | Caso o editor esteja desativado. | |
DisplayLabelWhenAvailable | bool | True | Especifica se deve exibir uma lable, se disponível. |
DisplayTooltipWhenAvailable | bool | True | Especifica se deve exibir uma dica de ferramenta, se disponível. |
DisplayValidationErrorMessage | bool | True | Uma mensagem de erro de validação deve ser exibida quando o componente falha na validação? |
IsDirty | bool | False | Recebe um valor indicando se há mudanças pendentes de associação ou dissociação que ainda não foram salvas. |
IsVisible | bool | True | O editor é visível? |
Label | string? | Texto para ser exibido como um rótulo para o editor. | |
MaximumNumberOfItems | int? | Número máximo de registros relacionados que podem ser selecionados. | |
MaxRecordsReturned | int | 20 | Número máximo de registros retornados do Dataverse ao buscar registros relacionados. |
MinimumNumberOfItems | int? | Número mínimo de registros relacionados que devem ser selecionados para que o editor seja considerado válido. | |
ReadOnly | bool? | O editor deve ser somente leitura. | |
RelationshipName* | string | O nome de relacionamento muitos-para-muitos do Dataverse que este editor gerencia. | |
Required | bool? | Se o valor for necessário. | |
ViewIds | List<Guid>? | Limites de quais visualizações estão disponíveis para navegar por registros relacionados; se estiver vazia, a visualização pública padrão é usada. |
ChildContentContextDefaultViewIdDescriptionDisabledDisplayLabelWhenAvailableDisplayTooltipWhenAvailableDisplayValidationErrorMessageIsDirtyIsVisibleLabelMaximumNumberOfItemsMaxRecordsReturnedMinimumNumberOfItemsReadOnlyRelationshipName*RequiredViewIdsNome | Parâmetros | Tipo | Descrição |
|---|---|---|---|
GetRequests | List<OrganizationRequest> | Retorna as operações pendentes Requests.OrganizationRequest (associar e dissociar) que precisam ser executadas para persistir a seleção atual. | |
GetValidationErrors | List<string> | Devolve erros de validação para a seleção atual, incluindo violações das regras de contagem mínima e máxima de itens. | |
RefreshAsync | bool forceRefresh | Task | Instrui a grade a buscar novamente e renderizar os dados atuais da fonte de dados fornecida. |
ResetState | void | Elimina todas as alterações pendentes de associação e dissociação, resetando o editor para seu último estado salvo. | |
Validate | bool | Retorna |
GetRequestsRequests.OrganizationRequest (associar e dissociar) que precisam ser executadas para persistir a seleção atual.GetValidationErrorsRefreshAsyncResetStateValidate