components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.description
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.categories-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.categories-description
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.category-dialog
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.category-navigate
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.category-action
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.picking-approach-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.picking-approach-intro
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.picking-approach-dialog
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.picking-approach-navigate
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.picking-approach-wizard
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-intro
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-immediately-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-immediately-description
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-immediately-step-1
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-immediately-step-2
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-immediately-step-3
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-immediately-when
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-context-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-context-description
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-context-step-1
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-context-step-2
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-context-step-3
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-context-step-4
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-context-when
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-default-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.save-flow-default-description
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.new-record-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.new-record-description
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.new-record-location
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.new-record-form-type
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.new-record-behavior
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-new-center-dialog-comment */}
<NewRecordGridButton>
<NewContactForm />
</NewRecordGridButton>
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-new-side-panel-comment */}
<NewRecordGridButton location="panel">
<NewContactForm />
</NewRecordGridButton>
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-new-wizard-comment-react-line1
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-new-wizard-comment-react-line2 */}
<NewRecordGridButton location="center">
<WizardRecordPage>
<TextEdit columnName="firstname" />
<TextEdit columnName="lastname" />
</WizardRecordPage>
<WizardRecordPage>
<MoneyEdit columnName="annualincome" />
</WizardRecordPage>
</NewRecordGridButton>
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-new-save-immediate-comment */}
<NewRecordGridButton behavior="immediately">
<NewContactForm />
</NewRecordGridButton><!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-new-center-dialog-comment -->
<NewRecordGridButton TForm="NewContactForm" />
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-new-side-panel-comment -->
<NewRecordGridButton TForm="NewContactForm"
Location="DialogLocation.Right" />
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-new-wizard-comment-razor -->
<NewRecordGridButton TForm="NewContactForm"
Location="DialogLocation.Center"
FormType="FormType.WizardForm" />
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-new-save-immediate-comment -->
<NewRecordGridButton TForm="NewContactForm"
Behavior="GridActionBehavior.Immediately" />components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.form-example-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.form-example-description
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-form-file-react-comment
<TabList>
<Tab value="general">components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-form-tab-general</Tab>
<Tab value="other">components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-form-tab-other</Tab>
</TabList>
{activeTab === 'general' && (
<>
<TextEdit columnName="firstname" />
<TextEdit columnName="middlename" />
<TextEdit columnName="lastname" />
</>
)}
{activeTab === 'other' && (
<>
<MoneyEdit columnName="annualincome" />
<TextEdit columnName="telephone1" type="tel" />
</>
)}<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-form-file-razor-comment -->
<FluentTabs Style="width: 100%">
<FluentTab Label="components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-form-tab-general">
<TextEdit ColumnName="firstname" />
<TextEdit ColumnName="middlename" />
<TextEdit ColumnName="lastname" />
</FluentTab>
<FluentTab Label="components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-form-tab-other">
<MoneyEdit ColumnName="annualincome" />
<TextEdit ColumnName="telephone1"
TextFieldType="TextFieldType.Tel" />
</FluentTab>
</FluentTabs>components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.wizard-example-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.wizard-example-description
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-wizard-file-react-comment
<WizardRecordPage>
<TextEdit columnName="firstname" />
<TextEdit columnName="middlename" />
<TextEdit columnName="lastname" />
</WizardRecordPage>
<WizardRecordPage>
<MoneyEdit columnName="annualincome" />
<TextEdit columnName="telephone1" type="tel" />
</WizardRecordPage><!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-wizard-file-razor-comment -->
<WizardRecordPage>
<TextEdit ColumnName="firstname" />
<TextEdit ColumnName="middlename" />
<TextEdit ColumnName="lastname" />
</WizardRecordPage>
<WizardRecordPage>
<MoneyEdit ColumnName="annualincome" />
<TextEdit ColumnName="telephone1"
TextFieldType="TextFieldType.Tel" />
</WizardRecordPage>components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.wizard-note-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.wizard-note-description
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.wizard-validation-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.wizard-validation-description
<WizardRecordPage>
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-wizard-validation-required-comment */}
<TextEdit columnName="firstname" />
<TextEdit columnName="lastname" />
</WizardRecordPage>
<WizardRecordPage forceSuccessfulValidationBeforeSave={false}>
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-wizard-validation-optional-comment */}
<MoneyEdit columnName="annualincome" />
</WizardRecordPage><WizardRecordPage>
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-wizard-validation-required-comment -->
<TextEdit ColumnName="firstname" />
<TextEdit ColumnName="lastname" />
</WizardRecordPage>
<WizardRecordPage ForceSuccessfulValidationBeforeSave="false">
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-wizard-validation-optional-comment -->
<MoneyEdit ColumnName="annualincome" />
</WizardRecordPage>components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.wizard-shared-record-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.wizard-shared-record-description
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.edit-record-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.edit-record-description
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.edit-record-double-click
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.edit-record-primary-name-link
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-edit-center-comment */}
<OpenRecordGridButton>
<EditContactForm />
</OpenRecordGridButton>
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-edit-side-panel-comment */}
<OpenRecordGridButton location="panel">
<EditContactForm />
</OpenRecordGridButton>
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-edit-save-immediate-comment */}
<OpenRecordGridButton behavior="immediately">
<EditContactForm />
</OpenRecordGridButton>
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-edit-suppress-primary-comment */}
<MainGrid tableName="contact" allowNavigateOnPrimaryNameClick={false}>
<GridButtons>
<OpenRecordGridButton>
<EditContactForm />
</OpenRecordGridButton>
</GridButtons>
</MainGrid>
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-edit-suppress-double-comment */}
<MainGrid tableName="contact" allowOpenOnRowDoubleClick={false}>
<GridButtons>
<OpenRecordGridButton>
<EditContactForm />
</OpenRecordGridButton>
</GridButtons>
</MainGrid><!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-edit-center-comment -->
<OpenRecordGridButton TForm="EditContactForm" />
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-edit-side-panel-comment -->
<OpenRecordGridButton TForm="EditContactForm"
Location="DialogLocation.Right" />
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-edit-save-immediate-comment -->
<OpenRecordGridButton TForm="EditContactForm"
Behavior="GridActionBehavior.Immediately" />
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-edit-suppress-primary-comment -->
<MainGrid TableName="contact"
AllowNavigateOnPrimaryNameClick="false">
<Buttons>
<OpenRecordGridButton TForm="EditContactForm" />
</Buttons>
</MainGrid>
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-edit-suppress-double-comment -->
<MainGrid TableName="contact"
AllowNavigateOnRowDoubleClick="false">
<Buttons>
<OpenRecordGridButton TForm="EditContactForm" />
</Buttons>
</MainGrid>components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.navigate-new-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.navigate-new-description
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.navigate-new-onclick
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-static-url-comment */}
<NavigateNewRecordGridButton url="/contacts/new" />
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-dynamic-url-comment */}
<NavigateNewRecordGridButton
url="/contacts/new"
onClick={(ctx) => {
switch (ctx.gridContext.selectedView?.tableName) {
case 'contact': ctx.url = '/contacts/new'; break;
case 'account': ctx.url = '/accounts/new'; break;
default: throw new Error('components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-exception-unknown-table');
}
}}
/><!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-static-url-comment -->
<NavigateNewRecordGridButton Url="/contacts/new" />
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-dynamic-url-comment -->
<NavigateNewRecordGridButton OnClick="OnNewClick" />
@code {
private async Task OnNewClick(NavigateGridButtonContext ctx)
{
ctx.Url = ctx.GridContext.SelectedView.TableName switch
{
"contact" => "/contacts/new",
"account" => "/accounts/new",
_ => throw new Exception("components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-exception-unknown-table"),
};
}
}components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.navigate-edit-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.navigate-edit-description
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-edit-urlfor-comment */}
<NavigateOpenRecordGridButton
urlFor={(record) => `/contacts/edit?contactId=${record.id}`}
/>
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-edit-urlfor-dynamic-comment */}
<NavigateOpenRecordGridButton
urlFor={(record, ctx) => {
switch (ctx.selectedView?.tableName) {
case 'contact': return `/contacts/edit?contactId=${record.id}`;
case 'account': return `/accounts/edit?accountId=${record.id}`;
default: throw new Error('components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-exception-unknown-table');
}
}}
/><!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-edit-id-replace-comment -->
<NavigateOpenRecordGridButton Url="/contacts/edit?contactId={0}" />
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-edit-dynamic-comment -->
<NavigateOpenRecordGridButton OnClick="OnEditClick" />
@code {
private async Task OnEditClick(NavigateGridButtonContext ctx)
{
ctx.Url = ctx.GridContext.SelectedView.TableName switch
{
"contact" => "/contacts/edit?contactId={0}",
"account" => "/accounts/edit?accountId={0}",
_ => throw new Exception("components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-exception-unknown-table"),
};
}
}components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.navigate-record-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.navigate-record-description
<NavigateRecordGridButton
title="components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-record-title"
url="/records/details?id={0}"
buttonEnabledBehavior={GridButtonBehavior.OnlyOneSelected}
/><NavigateRecordGridButton Title="components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-nav-record-title"
Url="/records/details?id={0}"
ButtonEnabledBehavior="GridButtonBehavior.WhenOneSelected" />components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.delete-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.delete-description
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-delete-individual-comment */}
<DeleteRecordGridButton mode="individually" />
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-delete-batch-comment */}
<DeleteRecordGridButton mode="bulk" />
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-delete-immediate-comment */}
<DeleteRecordGridButton behavior="immediately" /><!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-delete-individual-comment -->
<DeleteRecordGridButton Mode="BulkOperationMode.Individually" />
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-delete-batch-comment -->
<DeleteRecordGridButton Mode="BulkOperationMode.Batch" />
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-delete-immediate-comment -->
<DeleteRecordGridButton Behavior="GridActionBehavior.Immediately" />components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.link-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.link-description
<LinkExistingRecordGridButton />
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-link-immediate-comment */}
<LinkExistingRecordGridButton behavior="immediately" /><LinkExistingRecordGridButton />
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-link-immediate-comment -->
<LinkExistingRecordGridButton Behavior="GridActionBehavior.Immediately" />components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.unlink-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.unlink-description
<UnlinkExistingRecordGridButton />
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-unlink-immediate-comment */}
<UnlinkExistingRecordGridButton behavior="immediately" /><UnlinkExistingRecordGridButton />
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-unlink-immediate-comment -->
<UnlinkExistingRecordGridButton Behavior="GridActionBehavior.Immediately" />components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.grid-button-title
components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.grid-button-description
<SubGrid relationshipName="contact_customer_accounts">
<GridButtons>
<NewRecordGridButton>
<NewContactForm />
</NewRecordGridButton>
<OpenRecordGridButton>
<EditContactForm />
</OpenRecordGridButton>
<DeleteRecordGridButton />
{/* components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-custom-button-comment */}
<GridButton
label="components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-custom-button-label"
icon={<ArrowDownload20Regular />}
enabledBehavior={GridButtonBehavior.OneOrMoreSelected}
onClick={async (ctx) => {
const selectedRecords = ctx.selectedRecords;
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-custom-button-onclick-comment
}}
/>
</GridButtons>
</SubGrid><SubGrid RelationshipName="contact_customer_accounts">
<Buttons>
<NewRecordGridButton TForm="NewContactForm" />
<OpenRecordGridButton TForm="EditContactForm" />
<DeleteRecordGridButton />
<!-- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-custom-button-comment -->
<GridButton Label="components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-custom-button-label"
Icon="@(new Icons.Regular.Size20.ArrowDownload())"
IsButtonEnabled="DefaultGridButtonBehavior.GetBehavior(GridButtonBehavior.WhenOneOrMoreSelected)"
OnClick="OnExportClick" />
</Buttons>
</SubGrid>
@code {
private async Task OnExportClick(GridContext context)
{
var selectedRecords = context.SelectedRecords;
// components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.snippet-custom-button-onclick-comment
}
}components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.common-title
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.common-behavior
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.common-mode
- components.PowerPortalsPro.Demo.Client.Customizations.Pages.Grids.GridButtons.GridButtonsDemoPage.common-visibility
GridButton components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.class
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.parameters
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name | components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type | components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.default | components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.description |
|---|---|---|---|
Appearance | Appearance? | Stealth | |
Enabled | bool? | True | |
Icon | Icon? | ||
IsButtonEnabled | Func<IEnumerable<GridRowContext>, bool> | ||
IsButtonVisible | Func<IEnumerable<GridRowContext>, bool> | ||
IsOpenRecordButton | bool | False | |
Label | string? | ||
Tooltip | string? |
AppearanceEnabledIconIsButtonEnabledIsButtonVisibleIsOpenRecordButtonLabelTooltipcomponents.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.events
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name | components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type | components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.description |
|---|---|---|
OnClick | EventCallback<GridContext> |
OnClick