2

サーバーからのデータを表示するjqGridがあります(phpクエリ、json結果)。

列セルに格納されている値を知っている特定の行の行 ID を取得し、setSelection を使用してその行を強調表示することは可能ですか?

例を挙げて説明します。私のアプリケーションのユーザーは、フォームを使用してドロップダウン メニューから値を選択します。次に、この値がグリッド内にある場合、それを含む行が強調表示されます (可能であれば、グリッドが移動して、強調表示された行がグリッド ウィンドウの表示部分に表示されます)。

いくつかの注意事項: グリッド ページャーは構成されていますが、すべての行が最初のページにあるため、ページネーションは問題になりません。

ハイライト/選択は一度に1行のみに作用し、複数選択はありません(現時点では)

前もって感謝します

4

2 に答える 2

2

このJavaScript関数があなたのために働くと思います:

function check(){
    var data=$('#dropDown option:selected').val();

    var allRowsOnCurrentPage = $('#grid').jqGrid('getDataIDs');
    //suppose the column you want tho check in dropdown and in grid is "Name"

    for( var i=0;i<allRowsOnCurrentPage.length;i++){
       var Name=getCellValue(allRowsOnCurrentPage[i],'Name');
       if(Name===data){
            jQuery("#grid").setSelection(allRowsOnCurrentPage[i], true);
       }
    }
}
于 2012-07-27T11:30:47.560 に答える
1

ありがとうございました!私はそれを機能させるためにあなたの関数を少し編集しなければなりませんでした...ここで機能するコード:

function check() {

   var data=$('#dropDown option:selected').val();
   var allRowsOnCurrentPage = $('#grid').jqGrid('getDataIDs');
   for( var i=0;i<allRowsOnCurrentPage.length;i++){
       var Name = $('#grid').getCell(allRowsOnCurrentPage[i], 'Name');
       if(Name===data){
           jQuery("#cetacei_grid").setSelection(allRowsOnCurrentPage[i], true);
       }
}
于 2012-07-27T14:35:51.963 に答える