サブグリッド

SubGridコンポーネントは、指定された関係を通じて親レコードに関連するDataverseレコードを表示します。RecordContextの中に配置されなければならず、どの関係を使うかを指定するRelationshipNameパラメータが必要です。

関係の種類

SubGridは1対多(1:N)と多対多(N:N)の関係の両方をサポートしています。コンポーネントは自動的に関係タイプを検出し、それに応じて動作を調整します。

  • 1:Nの関係の場合、グリッドは親レコードを参照する関連テーブルのレコードを表示します。NewRecordGridButtonOpenRecordGridButtonDeleteRecordGridButtonなどのツールバーボタンは、関連するレコードの作成、編集、削除に使われます。
  • N:Nの関係の場合、グリッドは関連するレコードを表示します。LinkExistingRecordGridButtonUnlinkExistingRecordGridButtonのようなツールバーボタンは、レコードの関連付けや解除に使われます。作成および削除操作は自動的にアソシエイトおよび解除リクエストに変換されます。

見解

ViewIdsを使ってビューセレクターのドロップダウンで利用可能なビューを指定し、DefaultViewIdで最初に選択したビューを設定します。どちらも提供されていなければ、グリッドは関連するテーブルのすべての公開ビューを自動的に読み込みます。また、CustomViewDefinitionsにインラインのFetchXMLを提供し、コード内で直接ビューを定義することもできます。

React
Blazor

ツールバーボタン

Buttonsレンダリングフラグメントを使ってグリッドツールバーにボタンを追加してください。ダイアログの位置付け、ウィザードフォーム、セーブ動作などの詳細な設定オプションについては、グリッドボタンのドキュメントをご覧ください。以下の内蔵ボタンが利用可能です:

  • NewRecordGridButton — ダイアログフォームを開き、新しい関連レコード(1:N)を作成する
  • OpenRecordGridButton — 選択したレコードを編集するためのダイアログフォームを開く
  • DeleteRecordGridButton — 選択されたレコードを削除する
  • LinkExistingRecordGridButton — N:N関係で既存レコードを関連付ける
  • UnlinkExistingRecordGridButton — N:N関係から選択されたレコードを分離する
  • NavigateNewRecordGridButton — URLに移動して新しいレコードを作成する
  • NavigateOpenRecordGridButton — 選択したレコードを編集するためにURLへナビゲート
React
Blazor

インライン編集

AllowEdit="true"設定トグルを有効にして、ユーザーがインライン編集モードに切り替えられるようにしてください。有効化すると、編集可能な列はグリッド上で直接フォームコントロールとして描画されます。インライン編集は1:Nの関係にのみ対応しています。

React
Blazor

ページングと検索

グリッドはページサイズを設定可能なページナビゲーション DefaultItemsPerPagePageSizesをサポートしています。検索はデフォルトで有効で、 AllowSearch="false"で無効化可能です。

React
Blazor

SubGrid(1対多関係)

以下の例は、contact_customer_accounts関係を通じてアカウントに関連する連絡先を表示するSubGridを示しています。連絡先の作成、編集、削除のためのボタンも含まれています。

Reactの例
ブレイザーの例
私の連絡先全接触
新作
私の連絡先全接触
新作

ページサイズ

102050100
フルネーム
携帯電話
メール
会社名
年代
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

SubGrid(多対多の関係)

以下の例は、ppp_Account_ppp_Region_ppp_Region多対多関係を通じてアカウントに関連付けられた地域を示す SubGrid を示しています。

Reactの例
ブレイザーの例
活動地域非活性領域
リンクの存在
活動地域非活性領域
リンクの存在

ページサイズ

102050100
名称
記録は見つかりませんでした。
React TypeScript
Razor
反応してください ブレイザー

SubGrid クラス

パラメータ

名称
種類
デフォルト
概要
AllowChangingPageSizebool
True
AllowDownloadForFileColumnsbool
True
AllowEditbool
False
ユーザーがグリッドのインライン編集をオンにするオプションがあるべきです。
AllowNavigateOnPrimaryNameClickbool
True
true(デフォルト)でグリッドに「編集」ボタンが登録されている場合(a GridButton with IsOpenRecordButton =true)、レンダリングするセル テーブルのプライマリーネーム列はハイパーリンクになります。クリックしても同じことが発信されます 行ごとにダブルクリックで呼び出す機能があり、ユーザーが編集にジャンプできるようになっています フォーム(または登録ボタンに応じてナビゲートされた編集URL)を先に使わない 行を選ぶ。ハイパーリンクを抑制するためにfalseに設定し、 プライマリーネームセルをプレーンテキストとして使うことができます。編集ボタンが登録されていないと効果はありません。
AllowNavigateOnRowDoubleClickbool
True
true(デフォルト)でグリッドに「編集」ボタンが登録されている場合(a GridButton with IsOpenRecordButton=true)、行をダブルクリックします そのボタンのOnClickを呼び出して行の記録を開けます 編集ダイアログか編集URLへのアクセス、どちらかのボタンが対応しているのです。設定 falseはダブルクリックハンドラを抑制するために使われます。編集ボタンがなければ効果はありません 登録されています。
AllowPreviewForFileColumnsbool
True
AllowSearchbool
True
ユーザーがグリッドを検索することが許されるべきか。
BorderVisiblebool
True
ButtonsRenderFragment?
ColumnsRenderFragment?
CustomViewDefinitionsList<GridViewDefinition>?
ドロップダウンに表示するカスタムビュー。
DataSourceViewDataSource?
オプションで共有 Data.ViewDataSource。設定すると、グリッドは データソースから行数+総カウントを読み取る代わりに 独自の RetrieveRecordsAsync(System.String)を発行すること コール — 同じデータソースが兄弟姉妹を駆動することもあります <DataverseChart> または2つ目のグリッドで、すべてが使えます ページ分け/フィルター/検索を一度の往復でまとめて行えます。 単独使用( GridBase.DataSourceなし)は 既存の内部状態機械 — グリッドはFetchXMLを構成します IPowerPortalsProService 経由で直接フェッチします。 データソースが所有していないもの: グリッドごとのUIです 状態(選択された行、保留中の行が作成される/更新/削除、 列幅)をそれらはグリッドローカルのままで、2つのグリッドが1つを共有しています データソースは依然として独立した選択とグリッドごとの選択を持つことができます 編集保留中。 ViewDataSource.Highlight が設定された場合(例:aを通じて) クロスフィルターの「ハイライト」モードでチャートスライスクリック)、行の ハイライトされた列の値が視覚的に一致しない CSSクラスでミュートされ、行データ+選択は以下の通りです。 影響はありません(ソフトクロスフィルターは純粋にスタイリングです)。
DefaultItemsPerPageint
50
ページ上で読み込むデフォルトのレコード数。
DefaultViewIdGuid?
グリッドが初期ロード時に表示されるはずのビューのID。
Editablebool
False
グリッドのインライン編集は有効ですか?
FiltersIReadOnlyList<GridFilterBase>?
追加のサーバー側フィルターと、解決されたビューにマージした ページングやソート、検索の前にfetchXMLを使いましょう。転送先へ Query.IFetchXmlQueryComposerFetchXmlQueryOptions.Filters、 したがって、各エントリはランタイムタイプ(例: Models.RelationshipFilter ANDは関係リンクエンティティをマージします)。 典型的な使い方:LinkExistingRecordGridButtonピッカーが Models.RelationshipFilterRelationshipFilterMode.ExcludeExistingRecordsもう― リンクされたレコードはM2Mの検索ダイアログからは隠されています。 SubGrid自身の内部と加算的に結合します 関係フィルター(これはFetchXMLに直接組み込まれています) 作曲家のフィルター枠を通るのではなく)— 両方とも終わります 同じクエリで上にいる。
FullSizebool
False
HidePagingbool
False
ページサイズやページングコンポーネントを強制的に非表示にしてください。 アイテム数が分かっていて、ページサイズがアイテム数より大きいものに設定されている場合のみこれを行います。
IncludeSearchInPersistedStatebool
False
真の場合、アクティブ検索テキストは永続化されたものに含まれます 状態URLパラメータ(qフィールド下)。デフォルトはfalseに設定されます — 検索語は敏感で、ブラウザ履歴に蓄積されることがあります。 HTTPリファラーにリークするため、グリッドはURLからそれらを排除します。ただし 消費者は明示的にオプトインします。効果はありません GridBase.PersistedStateQueryParameterはまだ設定されていません。
IsDirtybool
False
グリッドに保存されていない作成、更新、削除の未処理があるかどうかを示します。
LoadedRecordsIEnumerable<TableRecord>
現在グリッドに表示されている記録(最新の結果ページ)。 「表示されたすべてのもの」に対応する必要があるツールバーコマンド、例えばバルク用に設計されています ダウンロードボタン。ページにまたがらない。ページ単位の一括操作は 代わりに自分のページなしの取ってこい。
MaxHeightstring?
グリッドコントロールが拡張すべき最大高さ。
MinHeightstring?
300px
グリッド制御が占有すべき最低高さ。
ModeGridMode
RecordSelection
PageSizesIEnumerable<int>
グリッド用の利用可能なページサイズのコレクション。
PagingModeGridPagingMode
Paged
PersistedRowsSnapshotPersistedGridRowsSnapshot?
サーバープリレンダー→レンダリングされた行のページのインタラクティブなハンドオフです。フレームワーク プリレンダリングの最後にこの性質を自動永続化し、その前に再ハイドレートします GridBase.OnInitializedAsync インタラクティブ側に位置しているので、データフェッチは 最初のインタラクティブレンダリングを飛ばしました。フレームワークによってレンダーツリーの位置でキーされます。 消費時の場 PersistedGridRowsSnapshot.ViewId がチェックされます 時間がかかるので、別のビューで再レンダリングすると、古くなった行は破棄されます。パブリック・トゥ・ フレームワークの要件 — [PersistentState] はパブリックプロパティを以下でのみ認識します。 内省――しかし外部に設定する意図はありません。
PersistedStateQueryParameterstring?
グリッドのインタラクティブなメッセージを永続させるためのURLクエリ文字列パラメータの名前 州から。設定すると、グリッドは初期負荷時にこのパラメータを読み取り、 アクティブなビュー、ページ番号、ページサイズをシードし、そこからソートします。 その後のユーザー操作(表示ピック、ページ変更、ヘッダーソートなど) 新しい状態を Components.NavigationManagerで書き返す 置換-状態経路。パーシステンスはページリフレッシュやブックマークによって存続します。
RecordTableRecord?
RelationshipName*string
SelectedRecordsIEnumerable<TableRecord>
現在グリッドで選ばれている記録。
SelectFromEntireRowbool
True
SelectModeDataGridSelectMode
Multiple
Titlestring?
表示のドロップダウンが表示されないときに表示する名前。
TransformViewAsyncFunc<GridViewDefinition, Task<GridViewDefinition>>?
ビューが読み込まれた直後、グリッドが使用する前に実行されるオプションのコールバック それはカラムやクエリを作成するためのものでした。修正 Models.GridViewDefinition を に戻す グリッドが最終的にレンダリングするものを変換するなど、特定の列を確保するなど ビュー自身の構成に関わらず常に存在します。非同期で、発信者は 何をするか決める際には、メタデータキャッシュ、サービス、その他の非同期リソースを参照してください 含める。
ViewIdsIEnumerable<Guid>?
ビュードロップダウンでグリッドが制限すべきビューのIDリスト。
ViewSortViewSort
NameAscending
ビューのドロップダウンでビューの順番を並べ替えてください。
名称: AllowChangingPageSize
種類: bool
デフォルト: True
名称: AllowDownloadForFileColumns
種類: bool
デフォルト: True
名称: AllowEdit
種類: bool
デフォルト: False
概要: ユーザーがグリッドのインライン編集をオンにするオプションがあるべきです。
名称: AllowNavigateOnPrimaryNameClick
種類: bool
デフォルト: True
概要: true(デフォルト)でグリッドに「編集」ボタンが登録されている場合(a GridButton with IsOpenRecordButton =true)、レンダリングするセル テーブルのプライマリーネーム列はハイパーリンクになります。クリックしても同じことが発信されます 行ごとにダブルクリックで呼び出す機能があり、ユーザーが編集にジャンプできるようになっています フォーム(または登録ボタンに応じてナビゲートされた編集URL)を先に使わない 行を選ぶ。ハイパーリンクを抑制するためにfalseに設定し、 プライマリーネームセルをプレーンテキストとして使うことができます。編集ボタンが登録されていないと効果はありません。
名称: AllowNavigateOnRowDoubleClick
種類: bool
デフォルト: True
概要: true(デフォルト)でグリッドに「編集」ボタンが登録されている場合(a GridButton with IsOpenRecordButton=true)、行をダブルクリックします そのボタンのOnClickを呼び出して行の記録を開けます 編集ダイアログか編集URLへのアクセス、どちらかのボタンが対応しているのです。設定 falseはダブルクリックハンドラを抑制するために使われます。編集ボタンがなければ効果はありません 登録されています。
名称: AllowPreviewForFileColumns
種類: bool
デフォルト: True
名称: AllowSearch
種類: bool
デフォルト: True
概要: ユーザーがグリッドを検索することが許されるべきか。
名称: BorderVisible
種類: bool
デフォルト: True
名称: Buttons
種類: RenderFragment?
名称: Columns
種類: RenderFragment?
名称: CustomViewDefinitions
種類: List<GridViewDefinition>?
概要: ドロップダウンに表示するカスタムビュー。
名称: DataSource
種類: ViewDataSource?
概要: オプションで共有 Data.ViewDataSource。設定すると、グリッドは データソースから行数+総カウントを読み取る代わりに 独自の RetrieveRecordsAsync(System.String)を発行すること コール — 同じデータソースが兄弟姉妹を駆動することもあります <DataverseChart> または2つ目のグリッドで、すべてが使えます ページ分け/フィルター/検索を一度の往復でまとめて行えます。 単独使用( GridBase.DataSourceなし)は 既存の内部状態機械 — グリッドはFetchXMLを構成します IPowerPortalsProService 経由で直接フェッチします。 データソースが所有していないもの: グリッドごとのUIです 状態(選択された行、保留中の行が作成される/更新/削除、 列幅)をそれらはグリッドローカルのままで、2つのグリッドが1つを共有しています データソースは依然として独立した選択とグリッドごとの選択を持つことができます 編集保留中。 ViewDataSource.Highlight が設定された場合(例:aを通じて) クロスフィルターの「ハイライト」モードでチャートスライスクリック)、行の ハイライトされた列の値が視覚的に一致しない CSSクラスでミュートされ、行データ+選択は以下の通りです。 影響はありません(ソフトクロスフィルターは純粋にスタイリングです)。
名称: DefaultItemsPerPage
種類: int
デフォルト: 50
概要: ページ上で読み込むデフォルトのレコード数。
名称: DefaultViewId
種類: Guid?
概要: グリッドが初期ロード時に表示されるはずのビューのID。
名称: Editable
種類: bool
デフォルト: False
概要: グリッドのインライン編集は有効ですか?
名称: Filters
種類: IReadOnlyList<GridFilterBase>?
概要: 追加のサーバー側フィルターと、解決されたビューにマージした ページングやソート、検索の前にfetchXMLを使いましょう。転送先へ Query.IFetchXmlQueryComposerFetchXmlQueryOptions.Filters、 したがって、各エントリはランタイムタイプ(例: Models.RelationshipFilter ANDは関係リンクエンティティをマージします)。 典型的な使い方:LinkExistingRecordGridButtonピッカーが Models.RelationshipFilterRelationshipFilterMode.ExcludeExistingRecordsもう― リンクされたレコードはM2Mの検索ダイアログからは隠されています。 SubGrid自身の内部と加算的に結合します 関係フィルター(これはFetchXMLに直接組み込まれています) 作曲家のフィルター枠を通るのではなく)— 両方とも終わります 同じクエリで上にいる。
名称: FullSize
種類: bool
デフォルト: False
名称: HidePaging
種類: bool
デフォルト: False
概要: ページサイズやページングコンポーネントを強制的に非表示にしてください。 アイテム数が分かっていて、ページサイズがアイテム数より大きいものに設定されている場合のみこれを行います。
名称: IncludeSearchInPersistedState
種類: bool
デフォルト: False
概要: 真の場合、アクティブ検索テキストは永続化されたものに含まれます 状態URLパラメータ(qフィールド下)。デフォルトはfalseに設定されます — 検索語は敏感で、ブラウザ履歴に蓄積されることがあります。 HTTPリファラーにリークするため、グリッドはURLからそれらを排除します。ただし 消費者は明示的にオプトインします。効果はありません GridBase.PersistedStateQueryParameterはまだ設定されていません。
名称: IsDirty
種類: bool
デフォルト: False
概要: グリッドに保存されていない作成、更新、削除の未処理があるかどうかを示します。
名称: LoadedRecords
種類: IEnumerable<TableRecord>
概要: 現在グリッドに表示されている記録(最新の結果ページ)。 「表示されたすべてのもの」に対応する必要があるツールバーコマンド、例えばバルク用に設計されています ダウンロードボタン。ページにまたがらない。ページ単位の一括操作は 代わりに自分のページなしの取ってこい。
名称: MaxHeight
種類: string?
概要: グリッドコントロールが拡張すべき最大高さ。
名称: MinHeight
種類: string?
デフォルト: 300px
概要: グリッド制御が占有すべき最低高さ。
名称: Mode
種類: GridMode
デフォルト: RecordSelection
名称: PageSizes
種類: IEnumerable<int>
概要: グリッド用の利用可能なページサイズのコレクション。
名称: PagingMode
種類: GridPagingMode
デフォルト: Paged
名称: PersistedRowsSnapshot
種類: PersistedGridRowsSnapshot?
概要: サーバープリレンダー→レンダリングされた行のページのインタラクティブなハンドオフです。フレームワーク プリレンダリングの最後にこの性質を自動永続化し、その前に再ハイドレートします GridBase.OnInitializedAsync インタラクティブ側に位置しているので、データフェッチは 最初のインタラクティブレンダリングを飛ばしました。フレームワークによってレンダーツリーの位置でキーされます。 消費時の場 PersistedGridRowsSnapshot.ViewId がチェックされます 時間がかかるので、別のビューで再レンダリングすると、古くなった行は破棄されます。パブリック・トゥ・ フレームワークの要件 — [PersistentState] はパブリックプロパティを以下でのみ認識します。 内省――しかし外部に設定する意図はありません。
名称: PersistedStateQueryParameter
種類: string?
概要: グリッドのインタラクティブなメッセージを永続させるためのURLクエリ文字列パラメータの名前 州から。設定すると、グリッドは初期負荷時にこのパラメータを読み取り、 アクティブなビュー、ページ番号、ページサイズをシードし、そこからソートします。 その後のユーザー操作(表示ピック、ページ変更、ヘッダーソートなど) 新しい状態を Components.NavigationManagerで書き返す 置換-状態経路。パーシステンスはページリフレッシュやブックマークによって存続します。
名称: Record
種類: TableRecord?
名称: RelationshipName*
種類: string
名称: SelectedRecords
種類: IEnumerable<TableRecord>
概要: 現在グリッドで選ばれている記録。
名称: SelectFromEntireRow
種類: bool
デフォルト: True
名称: SelectMode
種類: DataGridSelectMode
デフォルト: Multiple
名称: Title
種類: string?
概要: 表示のドロップダウンが表示されないときに表示する名前。
名称: TransformViewAsync
種類: Func<GridViewDefinition, Task<GridViewDefinition>>?
概要: ビューが読み込まれた直後、グリッドが使用する前に実行されるオプションのコールバック それはカラムやクエリを作成するためのものでした。修正 Models.GridViewDefinition を に戻す グリッドが最終的にレンダリングするものを変換するなど、特定の列を確保するなど ビュー自身の構成に関わらず常に存在します。非同期で、発信者は 何をするか決める際には、メタデータキャッシュ、サービス、その他の非同期リソースを参照してください 含める。
名称: ViewIds
種類: IEnumerable<Guid>?
概要: ビュードロップダウンでグリッドが制限すべきビューのIDリスト。
名称: ViewSort
種類: ViewSort
デフォルト: NameAscending
概要: ビューのドロップダウンでビューの順番を並べ替えてください。

イベント

名称
種類
概要
EditableChangedEventCallback<bool>
インライン編集の状態が変わったときにコールバックが呼び出されます。
SelectedRecordsChangedEventCallback<IEnumerable<TableRecord>>
選択したレコード収集が変更された際にコールバックが呼び出されます。
名称: EditableChanged
種類: EventCallback<bool>
概要: インライン編集の状態が変わったときにコールバックが呼び出されます。
名称: SelectedRecordsChanged
種類: EventCallback<IEnumerable<TableRecord>>
概要: 選択したレコード収集が変更された際にコールバックが呼び出されます。

方法

名称
パラメータ
種類
概要
ClearSelectionAsyncTask
現在選択されているすべての行をクリアします。
OpenFileDownloadAsyncTableRecord record
string columnName
Task
OpenFilePreviewAsyncTableRecord record
string columnName
Task
RefreshAsyncbool forceRefresh
Task
グリッド制御と基盤データを更新します。
Validatebool
グリッド内の編集可能なすべての行を検証します。
名称: ClearSelectionAsync
種類: Task
概要: 現在選択されているすべての行をクリアします。
名称: OpenFileDownloadAsync
パラメータ: TableRecord record
string columnName
種類: Task
名称: OpenFilePreviewAsync
パラメータ: TableRecord record
string columnName
種類: Task
名称: RefreshAsync
パラメータ: bool forceRefresh
種類: Task
概要: グリッド制御と基盤データを更新します。
名称: Validate
種類: bool
概要: グリッド内の編集可能なすべての行を検証します。