使用一些默认值在 Kendo Grid 中添加新行
Posted
技术标签:
【中文标题】使用一些默认值在 Kendo Grid 中添加新行【英文标题】:Add new Row in Kendo Grid with some default values 【发布时间】:2013-12-09 19:51:24 【问题描述】:我想在第一个单元格中具有默认值的剑道网格中添加新行。 如何在添加的剑道网格行中设置默认值
我在 Kendo Grid 中添加新行为::
$('#AddSingleSuppliment').click(function ()
grid.addRow();
);
但我想根据点击的 DOM 元素的值设置第一个单元格的值,比如
$('#AddSingleSuppliment').click(function ()
var temVal=$(this).text();
grid.addRow(tempVal);
);
但我们不能那样做。 所以请帮助我,在 Kendo Grid 中添加新行,其中一个单元格具有单击按钮的值。
现在我可以在 Kendo Grid 中添加新行,
$("#AddSingleSupplement").click( function()
var tempSupplement = $(this).val();
//alert(tempSupplement);
grid.addRow(tempSupplement);
grid.dataSource._data[0].Description = $(this).text().trim();
);
但添加新行时不直接显示值。它在我们单击其他元素后显示。 请建议我这是正确的方法还是除此之外的任何其他方法。
【问题讨论】:
【参考方案1】:对于动态默认值,您可以在 Edit 事件上连接您的逻辑,例如:
<script>
$('#AddSingleSuppliment').click(function ()
grid.addRow();
);
function onEdit(e)
//Custom logic to default value
var name = $("#AddSingleSuppliment").text();
// If addition
if (e.model.isNew())
//set field
e.model.set("Name", name); // Name: grid field to set
</script>
【讨论】:
对于 MVC 添加.Events(x=>x.Edit("onEdit"))
【参考方案2】:
根据 Kendo 团队,默认值不能动态更改。
但是,我们可以使用 Grid edit 事件来预填充编辑表单:
edit: function(e)
if (e.model.isNew() && !e.model.dirty)
e.container
.find("input[name=ProductName]") // get the input element for the field
.val("MyCustomValue") // set the value
.change(); // trigger change in order to notify the model binding
【讨论】:
以上是关于使用一些默认值在 Kendo Grid 中添加新行的主要内容,如果未能解决你的问题,请参考以下文章
使用 Selenium / Geb 测试 Kendo UI Grid