Как отключить строки в сетке Serenity: методы и примеры

Чтобы отключить строку в сетке в Serenity, вы можете использовать следующие методы с примерами кода:

Метод 1: использование свойства RowSelection

grid.onGetRowClass.add((grid, item, row) => {
    if (item.IsDisabled) {
        return "disabled-row";
    }
    return null;
});

В этом методе вы можете добавить к строке собственный класс CSS на основе условия. В этом примере, если свойство IsDisabledэлемента имеет значение true, к строке добавляется класс «disabled-row».

Метод 2. Использование события RowRender

grid.onRowRender.add((grid, row) => {
    var item = row.dataItem;
    if (item.IsDisabled) {
        row.element.classList.add("disabled-row");
    }
});

В этом методе вы можете напрямую получить доступ к элементу строки и добавить к нему класс CSS на основе условия. Опять же, свойство IsDisabledиспользуется для определения того, следует ли отключить строку.

Метод 3. Использование события RowPrepared

grid.onRowPrepared.add((grid, row) => {
    var item = row.dataItem;
    if (item.IsDisabled) {
        row.rowElement.addClass("disabled-row");
    }
});

В этом методе вы можете получить доступ к элементу строки с помощью row.rowElementи добавить класс CSS на основе условия.

Метод 4. Использование пользовательского шаблона строки

grid.rowTemplate = (item) => {
    if (item.IsDisabled) {
        return "<tr class='disabled-row'><td>" + item.Name + "</td></tr>";
    }
    return "<tr><td>" + item.Name + "</td></tr>";
};

В этом методе вы можете определить собственный шаблон строки и условно добавить к строке класс «disabled-row» на основе свойства IsDisabled.