2011-01-19 16 views
2

私は、ユーザーがテーブルの行を選択したときにコールバックを追加したいが、私はそうする方法を見つけ出すことはできません...ここで SlickGridコールバックonRowSelect?

は、私がこれまで持っているものです。

<script src="/js/jquery-1.4.2.min.js"></script> 
    <script src="jquery-ui-1.8.8.custom.min.js"></script> 
    <script src="jquery.event.drag.2.0.min.js"></script> 
    <script src="slick.core.js"></script> 
    <script src="slick.rowselectionmodel.js"></script> 
    <script src="slick.grid.js"></script> 
    <script> 
     var grid; 
     var columns = [ /* my column definitons */ ]; 
     var options = { 
      enableCellNavigation: true, 
      enableColumnReorder: false, 
      enableAddRow: true 
     }; 

     $(function() { 
      $.getJSON('/actions/unit_list.php', function (data) { 
       grid = new Slick.Grid("#myGrid", data, columns, options); 
       grid.setSelectionModel(new Slick.RowSelectionModel()); 
       $('#myGrid').show(); 
      }); 
     }); 
    </script> 

これで、行を選択することができますが(this example)、行を選択したときにコールバックを追加する方法はわかりません(できれば行IDを返すものです。ページ上の何か他のもの)。

誰もがこれを手伝ってくれますか?

答えて

11

ああは、--specifically example 6にremotemodelの相互作用をより多くのコードを検討した後 - 私はこのように、トリガ関数を呼び出す必要があることを参照してください。私は使用することができ、ここから

grid.onSelectedRowsChanged.subscribe(function() { console.log(grid.getSelectedRows()); }); 

を@Tinが指摘したように、grid.getSelectedRows()は選択された行を返します。

+0

同じことを実行して、答えをくれてありがとう。 (もう1つは、slick.rowselectionmodel.jsをインポートする必要があります) – Mutant

1

grid.getSelectedRows()を呼び出して選択行を取得できます。

+0

しかし、これはコールバックではなく、選択した行を返すための単なる公開関数です。ユーザーが行をクリックするとすぐに関数を起動したい。どうすればいい? – neezer

+0

または間違っていますか?私は 'grid.onSelectedRowsChanged = function(){alert( 'something happened!')のようなものを試しました。 }; '、しかし、私はエラーを取得しています' Uncaught TypeError:Object function(){alert( 'something happened!'); }メソッド 'notify''がありません... – neezer

+0

申し訳ありませんが、私は質問を誤解しました。あなたの答えは正しいです。 – Tin

関連する問題