2011-06-24 72 views
0

こんにちはjqGridとRuby on Railsを使ったデフォルトソート

私はRuby on RailsとJQgridを使用しています。すべてうまく動作しますが、グリッドがデータをロードするとき、私は欲しくない方法でソートされます。 ID列で子孫をソートする必要があります。 私はこのソフトウェアを開発した人ではなかったので、何を変更するか正確にはわかりません。このコードは引用コントローラの助けにあり、私はここでそれを変更しなければならないと思います。誰かが最後の行にあるQuote.order( 'id DESC')を使用するよう教えてくれました。私は2行目に入れましたが、どちらも正しく動作していません。誰かがそれを達成するために何が追加される必要があるか教えてもらえますか? javascriptにもコードがあります。しかし、それは非常に複雑です。私はそれを変える必要はないと思う。

本当にありがとうございます。私はそれを解決しようとしている2つ以上の蛾があります。ありがとう。

def format_quote_grid! 
Quote.grid.update({ 
:title => "Quotes", 
:pager => true, 
:search_toolbar => :hidden, 
:resizable => false, 
:height => :auto, 
:except => [:contacts], 
:rows_per_page => 10}) { |grid| 
    grid.column :id, :label => "Number", :width => 50#, :proc => lambda {|record| link_to record.number, quote_path(record) } 
    grid.column :job_name, :width => 140, :proc => lambda {|record| link_to record.job_name, quote_path(record) } 
    grid.column :category, :width => 60 
    grid.column :needs_installation, :width => 60 
    grid.column :contact_id, :hidden => true 
    grid.column :business_id, :hidden => true 
    grid.column :contact_name, :label => "Contact", :width => 100, :sortable => false, :proc => lambda {|record| link_to(record.contact.name, record.contact) if record.contact.present? } 
    grid.column :business_name, :label => "Business", :width => 100, :sortable => false, :proc => lambda {|record| link_to(record.business.name, record.business) if record.business.present? } 
    grid.column :scope_of_work_id, :hidden => true 
    grid.column :markup, :hidden => true 
    grid.column :notes, :hidden => true 
    grid.column :shred, :hidden => true 
    grid.column :printed_at, :hidden => true 
    grid.column :created_at, :hidden => true 
    grid.column :updated_at, :hidden => true 
    grid.column :user_id, :hidden => true 
    grid.column :actions, :width => 200, :sortable => false, :searchable => false, :proc => lambda {|record| 
    permissioned_actions(record) do |p| 
     p.show_link 
     p.link('Printable', printable_quote_path(record), :show, record) 
     p.edit_link 
     p.destroy_link 
     p.link('RFQ', request_for_quote_path(record.scope_of_work.request_for_quote_id), :show, record.scope_of_work) if record.scope_of_work.present? 
     p.correspondence_link 
     p.resources_link 
     p.link(record.work_order.number, work_order_path(record)) if record.work_order 
    end 
    } 
    Quote.order('id DESC') #hecho por mi 
} 
    end 
+0

使用しているjQgrid JavaScriptコードを投稿してください。 – Brian

+0

また、グリッドを生成するためにレールプラグインを使用していますか?もしそうなら、それは何ですか?ブライアン。 – Brian

答えて

0

このトピックに関する以前の投稿の1つで、Gridifyを使用しているようです。

Gridifyは、以下のオプションをサポートしているようだ:

:sort_by # name of sort column of next request 
:sort_order # sort direction of next request, 'asc' or 'desc' ('asc') 

だから、私はこのことができます以下の真下:except => [:contacts],

:sort_by => :id, 
:sort_order => :desc, 

希望を追加します。

+0

。ご回答どうもありがとうございました。それはまさに私が必要としていたものです。これは、GRIDIFYとjqGridが混在しているようです。 jqgridは、ページがロードされたときにhtmlページに表示されるjqgridです。しかしこれまではこれが私の迷路です。 javascriptはGridifyとJQgridを同時に引用しています。私はキャプションで名前を変更するので、この見積もりであることに気づいた。どんな方法であれ、それは正しく機能しています。私はまだ投票することはできませんが、あなたの答えは完璧です。再度、感謝します。 –

+0

@ルイス私は助けることができてうれしいです。 – Brian

関連する問題