2014-10-02 116 views
0

無論如何通過標題模板或其他任何東西把索引標記放入列標題?例如,如果我有一堆網格,並且用戶點擊「名稱」列和「城市」列。添加列排序索引到列標題多列排序

我想在「名稱」旁邊放一個「1」,在「城市」旁邊放一個「2」來表示排序順序。

回答

1

使用Headertemplates時,存在無法捕獲「僅在呈現列標題之前」事件的問題。我有以下dataBinding事件仍然沒有你想要什麼:

dataBinding: function(e){ 

    var sortArray = $("#grid").data("kendoGrid").dataSource.sort();     
    if(sortArray) 
    { 
    for(var i = 0;i < sortArray.length; i++) 
    { 

    $("#grid th[data-field=" + sortArray[i].field + "] .k-link").html("(" + (i+1) + ")" + sortArray[i].field); 
    } 

     var sortedColumns = sortArray.map(function(o){return o.field}); 

     var columns = $("#grid").data("kendoGrid").columns; 
    for (i in columns) 
    { 
     if(sortedColumns.indexOf(columns[i].field) == -1) 
     $("#grid th[data-field=" + columns[i].field + "] .k-link").html(columns[i].field); 
    } 

    } 

    } 

以下是劍道道場鏈接:http://dojo.telerik.com/eneH/4

+0

這是一個偉大而聰明的解決方案! – 2014-10-10 01:20:44

0

一個簡單的辦法,類似於上面

\t $('.field_sort_number').remove(); 
 
\t var sort_v = gridDataSource.sort(); 
 
\t if (sort_v) 
 
\t for (i = 0; i < sort_v.length; ++i) { 
 
\t  $('th[data-field="' + sort_v[i].field + '"] a[class="k-link"]').append('<sub class="field_sort_number">' + (i + 1) + '</sub>'); 
 
\t }