def action_column(opts = {}, &block)
      if @action_column_present
        raise Wice::WiceGridException.new('There can be only one action column in a WiceGrid')
      end

      options = {
        param_name:          :selected,
        html:                {},
        select_all_buttons:  true,
        object_property:     :id,
        html_check_box:      true
      }

      opts.assert_valid_keys(options.keys)
      options.merge!(opts)
      @action_column_present = true
      column_processor_klass = Columns.get_view_column_processor(:action)

      @columns << column_processor_klass.new(
        @grid,
        options[:html],
        options[:param_name],
        options[:select_all_buttons],
        options[:object_property],
        options[:html_check_box],
        @view,
        block
      )
    end
def action_column(opts = {}, &block)
      if @action_column_present
        raise Wice::WiceGridException.new('There can be only one action column in a WiceGrid')
      end

      options = {
        param_name:          :selected,
        html:                {},
        select_all_buttons:  true,
        object_property:     :id,
        html_check_box:      true
      }

      opts.assert_valid_keys(options.keys)
      options.merge!(opts)
      @action_column_present = true
      column_processor_klass = Columns.get_view_column_processor(:action)

      @columns << column_processor_klass.new(
        @grid,
        options[:html],
        options[:param_name],
        options[:select_all_buttons],
        options[:object_property],
        options[:html_check_box],
        @view,
        block
      )
    end
Adds a column with checkboxes for each record. Useful for actions with multiple records, for example, deleting
 selected records. Please note that +action_column+ only creates the checkboxes and the 'Select All' and
 'Deselect All' buttons, and the form itelf as well as processing the parameters should be taken care of
 by the application code.

 * <tt>:param_name</tt> - The name of the HTTP parameter.
   The complete HTTP parameter is <tt>"#{grid_name}[#{param_name}][]"</tt>.
   The default param_name is 'selected'.
 * <tt>:html</tt> - a hash of HTML attributes to be included into the <tt>td</tt> tag.
 * <tt>:select_all_buttons</tt> - show/hide buttons 'Select All' and 'Deselect All' in the column header.
   The default is +true+.
 * <tt>:object_property</tt> - a method used to obtain the value for the HTTP parameter. The default is +id+.
 * <tt>:html_check_box</tt> - can be used to switch from a real check box to two images. The default is +true+.

 You can hide a certain action checkbox if you add the usual block to +g.action_column+, just like with the
 +g.column+ definition. If the block returns +nil+ or +false+ no checkbox will be rendered.