カレンダーは予定、タスク、その他の行を独自の方法で描きます:カレンダー上の時間、主題、場所、繰り返しアイコン、いつどこで行うかのツールチップ、そして予定の詳細を示すダイアログです。それぞれは自分なりに描くことができ、テーブルごとに描き、テーブルの行は自分なりの形で書き換えられます。これらはすべての レイアウトに適用されます。
MultiTableTemplateReact(React:templates13のエントリ)は、カレンダー上で1つのテーブルの行を、すべてのカレンダーの時間、主題、場所、繰り返しアイコンの代わりに描画します。これはタイムラインと同様にです。行が与えられ、すべての列がRecordで読み込まれます。1か月分のセルが短いため、1行にまとめます。ツールチップのように、ユーザーが読むべき内容を示し、使用すべきコントロールを示すわけではありません。カレンダーはクリックすると行を開きます。
<Calendar
regarding={account}
templates={{
task: (item) => (
<>
<TaskListLtr16Regular /> {item.title}
</>
),
}}
/><Calendar Regarding="@account">
<MultiTableTemplate Table="task" Context="item">
<FluentIcon Value="@(new Icons.Regular.Size16.TaskListLtr())" /> @item.Title
</MultiTableTemplate>
</Calendar>カレンダーは自分に表示する列を読み取ります。テンプレートやツールチップに別の列を表示するには、以下のデモで電話の方向と番号を表示するように、ビューのFetchXML名を付けます。カレンダーは自分の列の横にビューの列を読み込みます。
ポインタを予約に置くと、その主題がいつどこにあるかが表示されます。 TooltipTemplate パス(React: appointmentTooltip)で自分のツールチップが表示されます。これは予約が与えられ、その Record にはその行のすべての列が読み込まれ、その書式された値が表示されているため、カレンダーに描かれない自分の列も表示できます。ツールチップはインタラクティブではありません。ユーザーが読むべきことを示すもので、使うべきコントロールを示すものではありません。
<Calendar
viewIds={[accountAppointmentsViewId]}
appointmentTooltip={(appointment) => (
<>
<strong>{appointment.subject}</strong>
<div>{appointment.record?.formattedValues?.['ppp_customercode']}</div>
</>
)}
/><Calendar ViewIds="@([accountAppointmentsViewId])">
<TooltipTemplate>
<strong>@context.Subject</strong>
<div>@context.Record?.FormattedValues.GetValueOrDefault("ppp_customercode")</div>
</TooltipTemplate>
</Calendar>シュメラー&サンズの予約や電話が、1か月ごとに記録されています。電話はどちらに向かったかアイコンで描かれ、ツールチップには発信番号が記載されます。予約のツールチップには、どこにいるかが記載されています。
アポイントメントをクリックすると、その詳細のダイアログが開きます。Dataverseからは、レコードページがレコードを読み取るのと同じテーブルアクセスとカラムセキュリティを経て読み込み、読み取り専用で表示されます:いつ、どこで、何に関するものか、ステータス、説明などです。代わりに、AppointmentDetails(React: appointmentDetails)をパスして、自分のフィールドを表示し、予約のレコードページにバインドされたものを表示したり、React: onAppointmentClickOnAppointmentClickを操作してクリックで他のことを行えば、例えば自分のページを開くことができます。
<Calendar
appointmentDetails={
<>
<ColumnEdit columnName="scheduledstart" readOnly />
<ColumnEdit columnName="location" readOnly />
</>
}
/><Calendar>
<AppointmentDetails>
<ColumnEdit ColumnName="scheduledstart" ReadOnly="true" />
<ColumnEdit ColumnName="location" ReadOnly="true" />
</AppointmentDetails>
</Calendar>シュメラー&サンズのアポイントメントは、開始時、終了時、場所、必要な出席者などが開かれます。
Editableカレンダーでは、予定以外のテーブルの行は、その登録が示すカラムの形で開きます。カレンダー内のMultiTableForm(React: formsのエントリ)は、自分専用のテーブル形式を提供します。行を作成するためのものと変更するもので、レコードの形式内に表示されるエディタのコンポーネントです。FormLocation(React: formLocation)は、どこで開くかを示します:デフォルトで中央のダイアログ、または左右のサイドパネルです。
<Calendar
regarding={account}
editable
formLocation="right"
forms={{ task: { create: TaskForm, edit: TaskForm } }}
/><Calendar Regarding="@account" Editable="true" FormLocation="DialogLocation.Right">
<MultiTableForm Table="task" CreateForm="typeof(TaskForm)" EditForm="typeof(TaskForm)" />
</Calendar>より詳細な例として、タスクが完了しているかどうか、どれだけ緊急度が描かれ、各テーブルのツールチップがあるかについては、 カレンダーカスタムレンダリングのデモをご覧ください。