Как сослаться на определенный столбец в обработчике событий

Я использую ActionBeginHandler по умолчанию, чтобы определить, какое действие следует предпринять после того, как пользователь выбрал «Добавить», «Изменить» или «Удалить» в сетке данных Blazor Syncfusion. Моя цель — сделать компонент многоразовым с параметрами универсального типа. Перед этим я могу заставить его работать, когда я использую конкретный класс модели объекта в ActionEventArgs, но не когда я передаю общий параметр типа TItem для класса модели объекта. Другими словами:

Это отлично работает и извлекает значение args.Data.EmployeeName:

              public async void ActionBeginHandler(ActionEventArgs<**Employee**> args)
        {
            if (args.RequestType.Equals(Syncfusion.Blazor.Grids.Action.Save))
            {
                if (args.Action == "Add")
                {
                    if (args.Data.**EmployeeName** == null)
                    {
                        return;
                    }
                    else
                        ... add the record;
                    }
                }
            }
        }

но я не знаю, как ссылаться на имя столбца для другой (общей) модели объекта (скажем, «Продукты»). Как вообще ссылаться на один и тот же столбец args.Data.

Сначала я подумал, что что-то подобное может работать, но это не сработало, и, похоже, нет никакого способа сослаться ни на имя, ни на индекс столбца args.Data, кроме как путем его жесткого кодирования.

          public async void ActionBeginHandler(ActionEventArgs<**TItem**> args)
    {
        if (args.RequestType.Equals(Syncfusion.Blazor.Grids.Action.Save))
        {
            if (args.Action == "Add")
            {
                if (args.Data.[Columns[generic column name or index] == null)
                {
                    return;
                }
                else
                    ... add the record;
                }
            }
        }
    }

Я все еще изучаю Blazor, поэтому, если мне не хватает фундаментальных понятий, я буду рад принять любой совет, который поможет мне решить проблему.

0 ответов

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