WiceGrid 3.6.0.pre4 examples

Action column

You can easily add a column with checkboxes for each row with g.action_column . Normally WiceGrid does not use a form, but its filters work correctly when placed inside a form, so you can use a form to process the selected records while keeping the state of the filters. Another way could be reading the selected checkoxes with the help of a simple javascript.

By default the checkboxes have name "grid_name[selected][]" , but you can change selected to something else with parameter param_name: 'my-parameter-name'

The value of the checkox is the id by default, but you can change it with parameter object_property: 'some_object_property' .

select_all_buttons: false hides the "(de)select all" icons, and html: {class: 'my_class'} changes the css class of the checkboxes.

  • # encoding: utf-8
    class ActionColumnController < ApplicationController
      def index
        @tasks_grid = initialize_grid(Task,
          include: [:priority, :status, :project, :assigned_users],
          name:    'g',
          order:   'id'
        )
    
        if params[:g] && params[:g][:selected]
          @selected = params[:g][:selected]
        end
      end
    end
    
  • <%= grid(@tasks_grid) do |g|
    
      g.action_column html_check_box: false
      # The default param_name is 'selected', the complete HTTP parameter will be "#{grid_name}[#{param_name}][]"
    
      # Or:
      # g.action_column param_name: :foo, html: {class: 'my_class'},
      #                 select_all_buttons: false, object_property: :id
    
    
      g.column name:  'ID', attribute: 'id', filter_type: :range
    
      g.column name:  'Title', attribute: 'title', negation: true
    
      g.column name:  'Archived', attribute: 'archived' do |rec|
        rec.archived? ? 'Yes' : 'No'
      end
    
    
      g.column name:  'Status', attribute: 'status_id', custom_filter: Status.to_dropdown  do |task|
        task.status.name if task.status
      end
    
      g.column name:  'Project Name', attribute: 'project_id', custom_filter: Project.to_dropdown do |task|
        task.project.name if task.project
      end
    
      g.column name:  'Due Date', attribute: 'due_date'
    
    
      g.column name:  'Added', attribute: 'created_at' do |task|
        task.created_at.to_s(:db)
      end
    
    end -%>
    
  • .well
      %h2= current_page_title
      %p
        You can easily add a column with checkboxes for each row with
        %code g.action_column
        \.
        Normally WiceGrid does not use a form, but its filters work correctly when placed inside a form, so you can use a form to process
        the selected records while keeping the state of the filters. Another way could be reading the selected checkoxes with the help
        of a simple javascript.
      %p
        By default the checkboxes have name
        %code "grid_name[selected][]"
        , but you can change
        %code selected
        to something else with parameter
        %code param_name:  'my-parameter-name'
      %p
        The value of the checkox is the id by default, but you can change it with parameter
        %code object_property:  'some_object_property'
        \.
      %p
        %code select_all_buttons:  false
        hides the "(de)select all" icons, and
        %code html: {class: 'my_class'}
        changes the css class of the checkboxes.
    
    = show_code
    
    = dump_filter_parameters_as_hidden_fields(@tasks_grid)
    = form_for '#', method:  :get do
    
      - if @selected
        .well
          Selected tasks:
          = @selected.to_sentence
    
      .row-fluid
        .col-md-12
          %p
            %button.btn.btn-default{'type' => 'submit'} Process tasks
    
          = render   'grid'
    
          %p
            %button.btn.btn-default{'type' => 'submit'} Process tasks
    

ID TitleArchivedStatusProject NameDue DateAdded


1-20 / 500 Alle rijen tonen
500vel eaYesStartedUltimate Website2016-03-302015-04-16 12:37:27
499voluptatemNoResolvedDivine Firmware2016-06-192015-05-09 12:37:27
498sedYesResolvedDivine Firmware2016-07-072015-04-05 12:37:27
497impedit quoNoNewSuper Game2016-07-092015-04-11 12:37:27
496velit non pariaturYesPostponedDivine Firmware2016-09-062015-04-07 12:37:27
495qui ut inNoVerifiedUltimate Website2016-10-082015-04-21 12:37:27
494fugiat quaeratNoDuplicateUltimate Website2016-06-102015-05-30 12:37:27
493estNoVerifiedDivine Firmware2016-02-062015-05-28 12:37:27
492sed atNoStartedSuper Game2016-06-142015-05-13 12:37:27
491modi nesciuntNoStartedSuper Game2016-05-102015-05-04 12:37:27
490maximeNoClosedUltimate Website2016-04-102015-05-21 12:37:27
489voluptatemNoDuplicateSuper Game2016-01-312015-06-02 12:37:27
488doloribus veritatisNoClosedUltimate Website2016-04-062015-06-17 12:37:26
487natus etNoNewUltimate Website2016-01-312015-05-14 12:37:26
486enim harum minimaNoResolvedSuper Game2016-09-252015-04-18 12:37:26
485ut teneturNoDuplicateSuper Game2016-10-132015-06-10 12:37:26
484quiaNoResolvedDivine Firmware2016-05-312015-05-06 12:37:26
483laborum dictaNoVerifiedSuper Game2016-02-282015-05-09 12:37:26
482consequuntur eumNoDuplicateSuper Game2016-06-052015-05-01 12:37:26
481etNoClosedUltimate Website2016-10-232015-06-05 12:37:26


Fork me on GitHub