ManyToManyLookupEditコンポーネントは、Dataverseレコード間の多対多(N:N)関係を管理するためのインライン自動補完エディタを提供します。現在関連付けられたレコードをチップとして表示し、ユーザーはフォームから離れることなく関連付けを検索・追加・削除できます。
コンポーネントを RecordContext に入れ、 RelationshipNameを指定します。このコンポーネントは関連するテーブルを自動的に解決し、関連するレコードを読み込み、新しい関連付けを追加するための検索可能なオートコンプリートドロップダウンを提供します。
<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>関連レコードの検索に利用可能なビューを ViewIds と DefaultViewId で制御してください。ビューの列はドロップダウンに表示され、ユーザーが正しいレコードを特定できるようになっています。ビューが指定されていない場合は、関連テーブルのデフォルトの公開ビューが使用されます。
<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("..."),
};
}関連レコード数に制約を設けるために、 MinimumNumberOfItems と MaximumNumberOfItems を活用してください。最小値を設定すると、自動的にフィールドが必須と表示されます。
<ManyToManyLookupEdit
relationshipName="ppp_Account_ppp_Region_ppp_Region"
minimumNumberOfItems={1}
maximumNumberOfItems={3}
/><ManyToManyLookupEdit RelationshipName="ppp_Account_ppp_Region_ppp_Region"
MinimumNumberOfItems="1"
MaximumNumberOfItems="3" />変更はアソシエイトおよび解除の保留中として追跡されます。親 MainContext が保存されると、これらのリクエストは他のレコード変更とともにトランザクション保存操作に含まれます。
<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>以下の例は、多対多の関係に結びついた基本的な ManyToManyLookupEdit を示しています。
以下の操作方法を使って、 ReadOnly、 Disabled、 MinimumNumberOfItems、 MaximumNumberOfItems のプロパティを探検してください。
名称 | 種類 | デフォルト | 概要 |
|---|---|---|---|
ChildContent | RenderFragment? | コンポーネントの子コンテンツ | |
Context | MainContext? | ||
DefaultViewId | Guid? | ||
Description | string? | 説明はツールチップに表示されます。 | |
Disabled | bool? | エディターを無効にすべきか。 | |
DisplayLabelWhenAvailable | bool | True | ラベルが可能であれば表示するかどうかを明記しています。 |
DisplayTooltipWhenAvailable | bool | True | ツールチップが表示されるかどうかを指定します。 |
DisplayValidationErrorMessage | bool | True | コンポーネントが検証に失敗したときに検証エラーメッセージを表示するべきでしょうか? |
IsDirty | bool | False | コンポーネントに保存されていない変更があるかどうかを示します。 |
IsVisible | bool | True | エディターは見えますか? |
Label | string? | 編集者用のラベルとして表示されるテキスト。 | |
MaximumNumberOfItems | int? | ||
MaxRecordsReturned | int | 20 | |
MinimumNumberOfItems | int? | ||
ReadOnly | bool? | エディターは読み取り専用であるべきです。 | |
RelationshipName* | string | ||
Required | bool? | 価値が求められるかどうか。 | |
ViewIds | List<Guid>? |
ChildContentContextDefaultViewIdDescriptionDisabledDisplayLabelWhenAvailableDisplayTooltipWhenAvailableDisplayValidationErrorMessageIsDirtyIsVisibleLabelMaximumNumberOfItemsMaxRecordsReturnedMinimumNumberOfItemsReadOnlyRelationshipName*RequiredViewIds名称 | パラメータ | 種類 | 概要 |
|---|---|---|---|
GetRequests | List<OrganizationRequest> | 保留中のセーブ操作のリストを Requests.OrganizationRequest オブジェクトとして返します。 | |
GetValidationErrors | List<string> | 現在の検証エラーの集合を返します。 | |
RefreshAsync | bool forceRefresh | Task | コンポーネントのデータを更新し、保存されていない変更プロンプトを回避できます。 |
ResetState | void | 保留中の変更をすべて最後に保存した状態に戻します。 | |
Validate | bool | コンポーネントの現在の状態を検証します。有効であればtrueを返します。 |
GetRequestsRequests.OrganizationRequest オブジェクトとして返します。GetValidationErrorsRefreshAsyncResetStateValidate