2014-10-29 62 views
1

我使用的劍道UI v2014.1.528劍道網 - 添加新項排序問題後

劍道電網

綁定數據,如低於

$("#list485").kendoGrid({ 
       dataSource: dataSource, 
       sortable: true, 
       columns: [ 
        //Column List 
       ] 
       ); 

它給了我一個網格「排序」「添加新記錄」功能。

如果我點擊「添加新記錄」按鈕,它會在網格的第一行添加一個空記錄。這可以。

但是,如果我將網格排列在任何列上,然後單擊「添加新記錄」按鈕,新記錄的空行將被添加到現有行之間的某處。

有人可以幫助我理解和解決這個問題嗎?

+0

幾個問題:1,你顯示代碼,不顯示沒有「添加新記錄」,也不排序。 2.我無法重現你所說的「現有行之間的某處」。你能顯示一個實際的代碼,包括dataSource模型定義,甚至更好的代碼在JSFiddle(或這裏),再現你說什麼?檢查我在這裏準備的代碼:http://dojo.telerik.com/@OnaBai/EXer – OnaBai 2014-10-29 19:42:52

+0

感謝您的回覆OnaBai。即使在你的例子中,我可以看到這個問題。排序Kendo Grid列和添加新記錄..新記錄行將顯示在不同的行位置.. – 2014-10-30 06:18:50

+0

如何重現它?我只能看到插入它的頂部或底部。 – OnaBai 2014-10-30 07:10:07

回答

2

您可以清除Kendo網格中的排序或過濾,同時單擊自定義添加按鈕。 我已經添加了剃刀代碼

  1. 代碼添加自定義添加按鈕趕上JavaScript的

    .ToolBar(toolbar =>{      toolbar.Custom().Name("cmdAddRecord") 
           .Text("Add New Record") 
           .HtmlAttributes(new { @id = "cmdAddRecord" }); }) 
    
  2. Javascript功能來清除排序和篩選。

    $("#cmdAddRecord").click(function (e) { 
    
        var grid= $("#Grid").data("kendoGrid"); 
        var sorting = grid.dataSource.sort(); 
        var filtering = grid.dataSource.filter(); 
        if (filtering) { 
         grid.dataSource.filter(null); 
        } 
        if (sorting) { 
         grid.dataSource.sort(null); 
        } 
        grid.addRow(); 
        e.preventDefault(); 
    
    });