0

Railsアプリを使用しています。HTML応答にjqgridを使用しています。選択した行をエクスポートする必要があります(グリッドに表示されるチェックボックスを使用)。rails fastcsv libを使用して.csvのデータを抽出しましたが、ページに表示されているすべての行をエクスポートしています。グリッドで使用可能なチェックボックスを使用して、選択した行のみをエクスポートするにはどうすればよいですか?

私はrailsとjqgridを初めて使用するので、返信をいただければ幸いです。

ありがとう

4

2 に答える 2

1

これは、選択した行を jqgrid から取得する方法です。

var selRowIds = grid.jqGrid('getGridParam', 'selarrrow');
           if(selRowIds.length>0)
           {
           for( var i=0;i<selRowIds.length;i++){

           var Name=getCellValue(selRowIds[i],'Name');
           var Company=getCellValue(selRowIds[i],'Company');
$.ajax({
           type: 'POST',
           url: '@Url.Action("ExportToCSV")',
           contentType: 'application/json; charset=utf-8',
           data:JSON.stringify({Name:Name,Company:Company}),
           dataType: "json",
          success:function(){
                   grid.trigger("reloadGrid");
            }


               });
}
}

次に、このコードがどのように機能するかを説明します。jqgrid パラメータで multiselect:true を使用しているので、各行でチェックボックスを取得できます。5行をチェックすると、それらが選択され、コードで行っているようにselarrowを使用して行IDを取得できます。次に、jqgrid列に名前と会社があると仮定して、それらの値を取得できます私のコードでやっているように、jquery to server method(exportToCSV) を使用して ajax リクエストを作成できます。これは、あなたの場合は ruby​​-rails になります。

于 2012-08-24T09:07:16.540 に答える