Kendo UI网格集模型验证最大值为其他列的值

时间:2013-04-16 06:12:00

标签: jquery kendo-ui kendo-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.
}

1 个答案:

答案 0 :(得分: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中的工作示例,请单击here