KendoUI Grid устанавливает максимальное значение модальной проверки на значение другого столбца

У меня есть следующий модальный:

...
quantity: {
             type: 'number',
             validation: {
                min: 0
             }
          }
...

В моей сетке вы можете щелкнуть, чтобы изменить значение. Что я хотел бы сделать, так это то, что когда поле количества выбрано и готово к тому, чтобы пользователь начал вводить числа, я хочу, чтобы максимально возможное значение было установлено на значение другого столбца, который был возвращен в мою сетку, например. quantityMax.

quantityMax будет отличаться для каждой строки в моей сетке.

Как я могу это сделать? Обработчик изменения ввода:

$('#salesGrid').on('change', '.k-input', function(){
  handleChange()
})

function handleChange()
{
  sGrid.dataSource.sync(); // Write changes.
  sGrid.dataSource.read(); // Read updated grid.
}

person imperium2335    schedule 16.04.2013    source источник


Ответы (1)


Вы можете реализовать это с помощью функции редактора для поля quantity. Это так же просто, как:

columns   : [
    // Other columns definition
    { field: "quantityMax", title: "Max", width: 50 },
    {
        width : 50,
        title : "Quantity",
        field : "quantity",
        editor: function (container, options) {
            // create an input element
            var input = $("<input name='" + options.field + "'/>");
            // append it to the container
            input.appendTo(container);
            // initialize a Kendo UI numeric text box and set max value
            input.kendoNumericTextBox({
                max: options.model.quantityMax
            });
        }
    }
],

Что я делаю, так это когда KendoUI входит в режим редактирования, я создаю поле ввода и устанавливаю max в значение quantityMax, и я получаю его от options.model.

Чтобы посмотреть рабочий пример в JSFiddle, нажмите здесь

person OnaBai    schedule 23.04.2013
comment
Круто, если я не хочу, чтобы столбец max показывал, какой параметр скрывает столбец? - person imperium2335; 24.04.2013
comment
Просто удалите { field: "quantityMax", title: "Max", width: 50 }, Вам не нужно отображать все столбцы в вашей модели. - person OnaBai; 24.04.2013
comment
Как бы вы сделали это, используя сетку mvc? Является ли это возможным? - person George D.; 15.10.2014