我想在Kendo Grid中添加新行,它在First Cell中具有默认值。 如何在添加的Kendo Grid行中设置默认值
我在Kendo Grid中添加New Row为::
$('#AddSingleSuppliment').click(function () {
grid.addRow();
});
但我想根据Clicked DOM元素的值来设置第一个单元格的值,比如
$('#AddSingleSuppliment').click(function () {
var temVal=$(this).text();
grid.addRow(tempVal);
});
但我们不能以那种方式去做。 所以请帮我这个,为了在Kendo Grid中添加New Row,点击一个具有按钮值的单元格。
现在我可以在Kendo Grid中添加新行,
$("#AddSingleSupplement").click( function(){
var tempSupplement = $(this).val();
//alert(tempSupplement);
grid.addRow(tempSupplement);
grid.dataSource._data[0].Description = $(this).text().trim();
});
但是在添加新行时没有直接显示值。点击其他元素后显示。 请建议我,这个是正确的方法,或者还有其他方法。
答案 0 :(得分:11)
对于动态默认设置,您可以在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>
答案 1 :(得分:0)
根据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
}
}