2014-02-20 208 views
0

這應該是一個簡單的,但我不能找到任何這是越來越煩,有沒有其他人有運氣與此一...訴諸劍道UI電網

我加入項目劍道綁定到數據源一個網格。有沒有一種方法可以使用網格?

$("#grid").data("kendoGrid").dataSource.add(data); 
    $("#grid").data("kendoGrid").dataSource.sort(); 

,或者當我卡恩的 $("#grid").data("kendoGrid").refresh();這應該對它進行排序

真的不能得到任何工作,我希望能夠動態地記錄添加到網格,並有電網度假村。

我這是怎麼定義我的網格在我的CSHTML頁

@(Html.Kendo().Grid(Model.List) 
.Name("grid") 
.Columns(columns => 
{ 
    columns.Bound(p => p.Id).Width(100); 
    columns.Bound(p => p.Age).Width(100); 
    columns.Bound(p => p.Name).Width(100); 
}) 
.Events(events => events.Change("onChange").DataBound("onDataBound")) 
.DataSource(dataSource => dataSource 
    .Ajax() 
    .Model(m => m.Id(g => g.Gid)) 
    .Read(read => read.Action("GetName", "NamesController", new { Id = Model.Id }).Type(HttpVerbs.Get)) 
    .Sort(sort => { 
     sort.Add(p => p.Id); 
     sort.Add(p => p.Age); 
     sort.Add(p => p.Name); 
    }) 

    ) 

回答

1

數據源有sort方法(文檔here)。基本上你需要修改排序標準,然後調用這個方法。

實施例:

var dataSource = new kendo.data.DataSource({ 
    data: [ 
    { name: "Jane Doe", age: 30 }, 
    { name: "John Doe", age: 33 } 
    ] 
}); 
dataSource.sort({ field: "age", dir: "desc" }); 
+0

所以每次我將數據添加到數據源對象我需要重新定義排序標準?那看起來不正確。 –

+0

不,你可能會在數據源中定義排序條件,所以應該對它進行排序。 – OnaBai

+0

在此處檢查:http://jsfiddle.net/LT9p7/您將看到添加的元素自動插入_right_位置。 – OnaBai

0
.DataSource(dataSource => dataSource   
.Ajax() 
.ServerOperation(false)   
) 

基本上設置.ServerOperation(假)解決此問題。這將使客戶端排序