Skip to content
This repository

jquery-datatables gem for rails

branch: master
Readme.md

Important

The current gem is released without updated plugins. If you encounter any errors, please fork the repository, update the plugin files and send a pull-request.

jquery-datatables-rails

This gem packages the jQuery DataTables plugin for easy use with the Rails 3.1+ asset pipleine.

It provides all the basic DataTables files, and a few of the extras.

General Installation

  1. Add to your Gemfile:

    gem 'jquery-datatables-rails', git: 'git://github.com/rweng/jquery-datatables-rails.git'
    
  2. Install the gem:

    bundle install
    
  3. Add the JavaScript to application.js:

    //= require dataTables/jquery.dataTables
    
  4. Add the stylesheets to application.css:

    *= require dataTables/jquery.dataTables
    

Twitter Bootstrap 2 Installation

  1. Complete steps 1-3 of the General Installation
  2. Add some more JavaScript to application.js:

    //= require dataTables/jquery.dataTables.bootstrap
    
  3. Add this (and only this) stylesheet to application.css:

    *= require dataTables/jquery.dataTables.bootstrap
    
  4. Initialize your datatables using one of these options:

// For fluid containers
$('.datatable').dataTable({
  "sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
  "sPaginationType": "bootstrap"
});
// For fixed width containers
$('.datatable').dataTable({
  "sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
  "sPaginationType": "bootstrap"
});

Twitter Bootstrap 3 Installation

  1. Complete steps 1-3 of the General Installation
  2. Add some more JavaScript to application.js:

    //= require dataTables/jquery.dataTables.bootstrap3
    
  3. Add this (and only this) stylesheet to application.css:

    *= require dataTables/jquery.dataTables.bootstrap3
    
  4. Initialize your datatables using these option:

$('.datatable').dataTable({
  "sPaginationType": "bootstrap"
});

Zurb Foundation Installation

  1. Complete steps 1-3 of the General Installation

  2. Add some more JavaScript to application.js:

    //= require dataTables/jquery.dataTables.foundation
    
  3. Add this (and only this) stylesheet to application.css:

    *= require dataTables/jquery.dataTables.foundation
    
  4. Initialize your datatables using these option:

$('.datatable').dataTable({
  "sPaginationType": "foundation"
});

Responsive Installation

  1. Complete steps 1-3 of the General Installation
  2. Add the lodash gem to your application:

      gem 'lodash-rails'
    
  3. Add some more JavaScript to application.js:

    //= require dataTables/jquery.dataTables.bootstrap3
    //= require dataTables/jquery.dataTables.responsive
    
  4. Add this (and only this) stylesheet to application.css:

    *= require dataTables/jquery.dataTables.bootstrap3
    *= require dataTables/jquery.dataTables.responsive
    
  5. Initialize your datatables using:

  responsiveHelper = undefined
  breakpointDefinition =
    tablet: 1024
    phone: 480

  tableContainer = $('.datatable')
  tableContainer.dataTable

    sPaginationType: "bootstrap"
    # Setup for responsive datatables helper.
    bAutoWidth: false
    bStateSave: false

    fnPreDrawCallback: ->
      responsiveHelper = new ResponsiveDatatablesHelper(tableContainer, breakpointDefinition) unless responsiveHelper

    fnRowCallback: (nRow, aData, iDisplayIndex, iDisplayIndexFull) ->
      responsiveHelper.createExpandIcon nRow

    fnDrawCallback: (oSettings) ->
      responsiveHelper.respond()
  1. To use see the author of responsive files and follow the instructions as described on datatables-responsive

Plugins

Only a few plugins are currently available

  • api
    • fnReloadAjax
    • fnGetColumnData
    • fnFilterOnReturn
    • fnSetFilteringDelay
  • sorting
    • numbersHtml
  • typeDetection
    • numberHtml

These files can be found in the assets directory.

Extras

Only the official extras are available:

  • AutoFill
  • ColReorder
  • ColVis
  • FixedColumns
  • FixedHeader
  • KeyTable
  • Scroller
  • TableTools

To add an extra into your application, add its JS file to application.js using the following pattern:

//= require dataTables/extras/[ExtraName]

Additionally, you may need to add any associated CSS files. For instance the TableTools extra requires you to add the following two lines to your application.css file:

*= require dataTables/extras/TableTools
*= require dataTables/extras/TableTools_JUI

TableTools also requires this to be included in 'application.js':

//= require dataTables/extras/ZeroClipboard.js

Make sure to also add it's initialization as described on datatables extras' site

Articles

RailsCast #340 DataTables Apr 11, 2012.

Thanks

Thanks to Comanche for responsive support files datatables-responsive

Something went wrong with that request. Please try again.