2016-05-05 9 views
0

私は私がいない他にどこのプロジェクトでは、Webサービスを使用するため、Webサービスを使用しないようにしたいのjQueryのJavaScriptを使用してラジアングリッドをソートする方法が必要です。Telerik RadGridソートクライアントサイドJavaScriptはjQueryの

私はJavaScriptを使用してグリッドに結合し、OnNeedDataSourceイベントを必要としません。クライアントRadGridCommandイベントで

<ClientEvents OnRowSelected="RowSelected" OnRowDeselected="RowDeselected" OnCommand="RadGridCommand"/> 

私はポストバック/ AJAX要求を防ぎ、コマンドは、私は私のグリッドをソートする方法を提供したいと考え、この時点でのソートイベントであるかどうかを確認するために、デフォルトのコマンドをキャンセルします。

 //RadGrid Command function 
     function RadGridCommand(sender, args) { 

      args.set_cancel(true); //cancel the default command to prevent postback/ajax request 

      if (args.get_commandName() == "Sort") { 
      var sortExpressions = sender.get_masterTableView().get_sortExpressions(); 

任意の提案は非常に

答えて

0

をいただければ幸い私はそれは私がsortコマンドが呼び出されたかどうかを確認し、デフォルトをキャンセルするコマンド名を使用し

LotResults.sort(function (a, b) { 
    return b.LotResult - a.LotResult //Sort DESC order 
}) 

JavaScriptのソート機能を使用して作業しましたポストバックを防止するためのコマンド。

私はその後、順序が昇順または降順されるようにされたかどうかを判断するソート順を取得するにはsortExpressionsをつかみます。そして最後にビューを更新するために、グリッドに私のオブジェクトをバインドします。

以下

は、私はそれが私がそれをする必要が道にそれを得るために、私の方から、もう少し作業が必要ですが、それは仕事をして、私のグリッドをソートされていた方法です:)

//RadGrid Command function 
function RadGridCommand(sender, args) { 

args.set_cancel(true); //cancel the default command to prevent postback/ajax request 

if (args.get_commandName() == "Sort") { 
    var sortExpressions = sender.get_masterTableView().get_sortExpressions(); 
    var sortVal = sortExpressions.toString(); 

    if (sortVal != "") { 

     var fieldName = sortExpressions.getItem(0).get_fieldName(); 
     var sortOrder = sortExpressions.getItem(0).get_sortOrder(); 

     if (sortOrder == 1) { 
      LotResults.sort(function (a, b) { 
        return b.LotResult - a.LotResult 
      }) 
     } 
     else if (sortOrder == 2) {      
       LotResults.sort(function (a, b) { 
          return a.LotResult - b.LotResult 
       }) 
     } 
    } 

    var masterTable = $find("<%= DeactivationLotResultsRadGrid.ClientID %>").get_masterTableView(); 
    masterTable.set_virtualItemCount(LotResults.length); 
    masterTable.set_dataSource(LotResults); 
    masterTable.dataBind(); 
    }} 
関連する問題