Mat*_*Mat 2 kendo-ui kendo-grid
我要为Kendo Grid创建一个自定义的"更新"按钮.
基本上,它以编程方式将适当的行放入编辑模式(使用editRow),将某些字段更新为特定值(使用model.set),然后保存行(使用saveRow).
它正在工作,但是一旦editRow调用该方法就会显示弹出编辑窗口,这会减慢进程并且看起来不太好.
有没有办法在以编程方式修改数据时抑制弹出窗口?这就是我正在做的事情(可能有另一种/更好的方法来做到这一点):
columns: [
....
{ command: [{name: 'edit' }, {name: 'approval'}, {name: 'delrow'}] }
],
dataBound: function() {
grid.find('.k-grid-approval').click(function() {
var row = $(this).parents('tr:first');
var g = requisitions.data('kendoGrid');
var data = g.dataItem(row[0]);
var model = g.dataSource.getByUid(data.uid);
g.editRow(row[0]);
model.set('status', 'Pending');
model.set('date_submitted', moment().toDate());
g.saveRow();
});
Run Code Online (Sandbox Code Playgroud)
我怀疑有更好的方法可以做到这一点,但我不知道它是什么.任何建议都非常感谢.
我是对的...还有更好的方法:
dataBound: function() {
grid.find('.k-grid-approval').click(function() {
var row = $(this).parents('tr:first');
var g = requisitions.data('kendoGrid');
var data = g.dataItem(row[0]);
var model = g.dataSource.getByUid(data.uid);
// g.editRow(row[0]);
model.set('status', 'Pending');
model.set('date_submitted', moment().toDate());
// g.saveRow();
// editRow and saveRow are not required -- just use dataSource.sync()
g.dataSource.sync();
});
Run Code Online (Sandbox Code Playgroud)