使用一些默认值在 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=&gt;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 中添加新行的主要内容,如果未能解决你的问题,请参考以下文章

Kendo Grid - 自定义编辑弹出窗口

在 Kendo Grid Mvc 上添加新的记录键盘快捷键

使用 Selenium / Geb 测试 Kendo UI Grid

根据下拉更改绑定/重新绑定 Kendo Grid

如何“使用具有一些默认选择的多复选框过滤器在服务器端过滤 Kendo Grid 数据”

使用默认值在 ag 网格上添加行