2015-12-16 97 views
0

我有一個劍道網格啓用內聯編輯,並在其中一個數值文本框編輯數值:限制劍道網格內數值文本框編輯器正數只

$("#g_Points").kendoGrid({ 
    dataSource: viewModel.myList, 
    columns: [ 
     { field: "Name", title: "Name", width: 250, editor: function (element, options) { element.text(options.model.Name) } }, 
     { field: "Available", title: "Points", width: 90, editable: true } 
    ], 
    editable: true, 
    save: function (arg) { 
     arg.model.Available = arg.values.Available; 
     saveRow(arg.model); 
     this.cancelChanges(); 
    }, 
    scrollable: true 
}); 

它工作正常,但我只需要將「可用」字段限制爲正數。

我嘗試這樣做:

... 
{ field: "Available", title: "Points", width: 90, editable: true, editor: myEditorFunction } 
... 

function myEditorFunction (container, options) { 
    $('<input/>') 
     .appendTo(container) 
     .kendoNumericTextBox({ 
      min: 0 
     }); 
} 

而且只限制只向正數,但隨後的保存功能不能正常工作了。我可以編輯這些值,但是當我離開單元格編輯時,該值將返回到默認值。

我怎樣才能限制我的內聯數字文本框只有正數?

回答

0

看起來您必須將輸入的名稱屬性設置爲該字段的名稱屬性。

function myEditorFunction (container, options) { 
    $('<input name="' + options.field + '" />') 
     .appendTo(container) 
     .kendoNumericTextBox({ 
      min: 0 
     }); 
} 

更多信息,請參見here

+0

找到了解決方案。同時,得益於LunchBaron – chiapa

0

得到它的工作,這是我做的:

$("#g_Points").kendoGrid({ 
    dataSource: new kendo.data.DataSource({ 
     data: viewModel.myList, 
     schema: { 
      model: { 
       fields: { 
        Available: { type: "number", validation: { required: true, min: 0 } } 
       } 
      } 
     } 
    }),