как отключить selectlistitem в кендогрид условно - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть кендогрид, в котором есть поле, позволяющее пользователю выбирать статус квартиры, я хотел бы проверить, если значение = 3 при привязке данных сетки, а затем отключить редактирование ячейки.

@(Html.Kendo().Grid<ApartmentModel>()
  .Name("UnitsGrid")
  .Columns(columns =>
   {
       columns.ForeignKey(o => o.Status, 
              new List<SelectListItem>() { 
              new SelectListItem() { Text =  "Not Reserved", Value = "1", Selected = true }, 
              new SelectListItem() { Text = "Reserved", Value = "2" },
              new SelectListItem() { Text =  "Contracted", Value = "3" } }, "Value", "Text")

При событии с привязкой к сетке

function GridDataBound(data) {

        var grid = $("#UnitsGrid").data("kendoGrid");
        debugger;
        var gridData = grid.dataSource.view();
        for (var i = 0; i < gridData.length; i++) {
            var gridItem = gridData[i];
            if (gridItem.Status == 3) { //Condition
                grid.table.find("[name=Status_input]").hide();
            }
        }
    }


1 Ответ

0 голосов
/ 10 апреля 2020

Я думаю, шаблон столбца - лучший выбор для этого сценария. Что-то вроде:

columns.Bound(p => p.Status).Template( @<text>
    @if(@item.Status == 3){
        // Display editable dropdown list
    } else {
       // Just show the value or a message
       "Contracted"
    }
    </text>
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...