【问题标题】:blazor radzen grid using radzen dialog yes/noblazor radzen 网格使用 radzen 对话框是/否
【发布时间】:2021-06-16 07:58:39
【问题描述】:

我正在为 blazor 使用 radzen,我怎样才能让 TItem="MailTemplate" 在是/否对话服务中传递?

  <RadzenGrid @ref="m_gridTemplates" Data="@m_emailTemplates" TItem="MailTemplate" AllowScrolling="true" AllowPaging="true" PageSize="10" EditMode="DataGridEditMode.Single">



<RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="close" Size="ButtonSize.Small" Click=@(args => DialogService.Confirm("Are you sure?", "Delete Template (" +mailTemplate.FileName + ")", new ConfirmOptions() { OkButtonText = "Yes", CancelButtonText = "No" })) MouseEnter="@(args => ShowTooltip(args, new TooltipOptions(){ Position = TooltipPosition.Top ,Text = "Delete Template"}))"/>

【问题讨论】:

    标签: c# blazor


    【解决方案1】:

    TItem="MailTemplate" 看起来像一个类型,而不是一个值。 请注意,我使用的是 RadzenDataGrid,而不是 RadzenGrid。 这是我的代码示例,修改类型“订单”,值为“订单”,并来自数据源“订单”

    <RadzenGrid Data="@Orders" TItem="Order" AllowScrolling="true" AllowPaging="true" PageSize="10" EditMode="DataGridEditMode.Single">
        <Columns>
            <RadzenDataGridColumn TItem="Order" Context="ord" Filterable="false" Sortable="false" TextAlign="TextAlign.Center" Width="130px" Title="Remove order reference">
                <Template Context="ord">
                    <RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="assignment_turned_in" Size="ButtonSize.Small" Click="@(args => editOrder(ord))"></RadzenButton>
                </Template>
            </RadzenDataGridColumn>
        </Columns>
    </RadzenGrid>
    
    @Code{
        async Task editOrder(Order order)
        {
           order = null;
        }
    }
    

    【讨论】:

    • 嗨,Marko,问题出在对话服务中。我想用是/否按钮来调用它。单击“是”时,我需要使用当前标题调用删除函数。
    【解决方案2】:

    我知道这有点晚了,但我也有同样的问题,并在 Radzen 论坛中得到了这个答案的帮助: https://forum.radzen.com/t/confirmation-modal-dialog/4069/8

    基本思想是,不是直接调用DialogService.Confirm 方法,而是从你自己的方法调用它,你已经传递了你需要的任何东西。

    如果链接失效:

    <RadzenButton ButtonStyle="ButtonStyle.Danger" Icon="delete" Text="Delete" Click="@(args => ConfirmDelete(yourObject.Id))" @onclick:stopPropagation="true"></RadzenButton>
    
    public async Task ConfirmDelete(int id)
    {
        var confirmationResult = await this.DialogService.Confirm("Are you sure?", "Dialog Title", new ConfirmOptions { OkButtonText = "Yes", CancelButtonText = "No" });
        if (confirmationResult == true)
        {
            //Delete logic for id
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-09-10
      • 2021-03-10
      • 1970-01-01
      • 1970-01-01
      • 2020-07-12
      • 2021-03-10
      • 2021-12-20
      • 2020-03-30
      • 1970-01-01
      相关资源
      最近更新 更多