Как добавить правило динамической проверки в поле формы в dev express - PullRequest
0 голосов
/ 03 октября 2019

Добрый день, я новичок в Dev Express, а также на бритвенных страницах.

У меня есть сетка данных dev extreme со списком пользователей, у пользователя есть тип пользователя, тип пользователя имеет минимальный диапазони максимальный диапазон для идентификатора пользователя.

Я хочу установить правило проверки диапазона для столбца в стандартной форме редактирования сетки данных, поэтому при добавлении нового идентификатора пользователя идентификатор пользователя должен находиться междунапример 1 и 49999. Диапазон сохраняется в базе данных. Таким образом, пользователь сначала выбирает тип пользователя, в таблице пользовательских типов будет диапазон, например, у типа пользователя «Сотрудник» будет диапазон от мин 1 до 49999, этот диапазон я хочу использовать в качестве проверки в моей форме.

Мой код сетки данных DevExtreme в настоящее время:

@(Html.DevExtreme().DataGrid<ACS.LIB.BE.User>().ID("userGrid")
.ElementAttr(new { @class = "dx-card wide-card" })
.DataSource(d => d.Mvc().Controller("User")
    .LoadAction("Get").Key("ID")
    .InsertAction("InsertUser")
    .UpdateAction("UpdateUser")
    .DeleteAction("DeleteUser"))
.ShowBorders(false)
.FilterRow(f => f.Visible(true))
.FocusedRowEnabled(true)
.FocusedRowIndex(0)
.ColumnAutoWidth(true)
.ColumnHidingEnabled(true)
.Columns(columns =>
{
    columns.AddFor(m => m.ID).ValidationRules(val => val.AddRange().Min(100));
    columns.AddFor(m => m.Name);

    columns.AddFor(m => m.UserType.ID).Lookup(lookup => lookup
                    .DataSource(ds => ds.WebApi().Controller("UserType").LoadAction("Get").Key("ID"))
                    .DisplayExpr("Name")
                    .ValueExpr("ID")
                    ).Caption("User Type");
    columns.AddFor(m => m.Department.ID).Lookup(lookup => lookup
                    .DataSource(ds => ds.WebApi().Controller("Department").LoadAction("Get").Key("ID"))
                    .ValueExpr("ID")
                    .DisplayExpr("Name")
                    ).Caption("Department");
    columns.AddFor(m => m.Company.ID).Lookup(lookup => lookup
                    .DataSource(ds => ds.WebApi().Controller("Company").LoadAction("Get").Key("ID"))
                    .ValueExpr("ID")
                    .DisplayExpr("Name")
                    ).Caption("Company");
    columns.AddFor(m => m.Authority);
    columns.AddFor(m => m.Email).ValidationRules(v => v.AddEmail().Message("Please enter a valid email address. yourname@yourdomain.com"));
    columns.AddFor(m => m.Active).FilterValue(true);

})

Строка, с которой у меня проблема: columns.AddFor(m => m.ID).ValidationRules(val => val.AddRange().Min(100));

Мин. (100) Я хочу установить его динамически изисточник данных не жестко запрограммирован, как сейчас, пользователь сначала выбирает тип пользователя, а затем я хочу использовать таблицу UserType, чтобы получить диапазон значений идентификатора. Поэтому я хочу получить 100 из моей таблицы пользователей, но я неуверен, что синтаксис будет или как я должен это делать.

Моя таблица типов пользователей: enter image description here

По умолчанию всплывающее окно моего экрана вставки из диалогового окна редактированиясетка данных. enter image description here

Любая помощь или указатели будут оценены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...