Реализация функции удаления определенной записи в Muddatagrid

как я могу реализовать функцию удаления определенной записи в сетке данных в Mudblazor? Я реализовал сетку данных и изо всех сил пытался получить идентификатор записи, которую мне нужно удалить. Как я могу сделать это с помощью функции?

<MudItem xs = "12" Class = "pt-0">
   <div id = "unique_id_scroll_section" class = "ma-0" style = "height:200px;overflow: auto">
   <MudDataGrid Items = "@Elements" Hover = "true" Striped = "true" Dense = "true">
          <Columns>
                <Column T = "Menuitemlist" StickyLeft = "true">
                     <CellTemplate>
                          <MudIconButton OnClick = "@(() => PrcdBtnClick())" Color = "@Color.Default" Icon = "@Icons.Material.Filled.Delete" />
                     </CellTemplate>
                </Column>
                <Column T = "Menuitemlist" Field = "ItemName" Title = "Name" />
                <Column T = "Menuitemlist" Title = "Qty" Style = "width:10px" />
                <Column T = "Menuitemlist" Field = "OptionalSalesPrice" Title = "Price" Style = "width:10px" />
                <Column T = "Menuitemlist" Title = "Total" Style = "width:10px" /></Columns>
            </MudDataGrid>
   </div> 
</MudItem>
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Удалите элемент из Elements и запустите повторную визуализацию. Вы подходите к нему не с того конца, в остальном все довольно просто.

Вот вам рабочий пример удаления строки из MudDataGrid: https://try.mudblazor.com/snippet/wkmRYGwOoxVtLoaC

Основная.бритва:

@using Models

<MudItem xs = "12" Class = "pt-0">
   <div id = "unique_id_scroll_section" class = "ma-0" style = "height:200px;overflow: auto">
   <MudDataGrid Items = "@Elements" Hover = "true" Striped = "true" Dense = "true">
          <Columns>
                <Column T = "Element" StickyLeft = "true">
                     <CellTemplate>
                          <MudIconButton OnClick = "@(() => PrcdBtnClick(@context.Item))" Color = "@Color.Default" Icon = "@Icons.Material.Filled.Delete" />
                     </CellTemplate>
                </Column>
                <Column T = "Element" Field = "Name" />
                
            </Columns>
    </MudDataGrid>
   </div> 
</MudItem>

@code { 

    private IEnumerable<Element> Elements = new List<Element>(){new Element("Uranium"), new Element("Radium"), new Element("Cobalt")};

    private void PrcdBtnClick(Element x)
    {
        Elements = Elements.Where(u => u.Name != x.Name);
    }

}

Элемент.cs:

using System.Collections.Generic;
using System.Text.Json.Serialization;

namespace Models
{
    public class Element
    {
        public string Group { get; set; } = "Group";
        public int Position { get; set; } = 1;
        public string Name { get; set; } = "Plutonium";
        public int Number { get; set; }

        [JsonPropertyName("small")]
        public string Sign { get; set; } = "Piesces";
        public double Molar { get; set; } = 6.9;
        public IList<int> Electrons { get; set; }

        public override string ToString()
        {
            return $"{Sign} - {Name}";
        }

        public Element(string name)
        {
            Name = name;
        }
    }
}

Вам нужно использовать @context.Item для получения элемента элементов, связанных с текущей строкой.

Добавлено редактирование @Danul Hivi.

maciek 20.02.2023 13:14

Спасибо за помощь, приятель. Это сработало. Можете ли вы дать мне решение, чтобы уменьшить размер столбца этой сетки данных?

Danul Hivi Vihan 21.02.2023 07:20

Это нормально. Просто задайте другой вопрос с тегом "Blazor", и я посмотрю, что смогу сделать. Так будет хоть какой-то порядок. Вы можете связать эту тему.

maciek 21.02.2023 09:22
stackoverflow.com/q/75518646/16241720 пожалуйста, ответьте на этот вопрос.
Danul Hivi Vihan 21.02.2023 10:40

Другие вопросы по теме