'Render the table in HTML and show it in the IPython notebook.
Parameters
tableid : str or `None`
An html ID tag for the table.  Default is ``table{id}-XXX``, where
id is the unique integer id of the table object, id(self), and XXX
is a random number to avoid conflicts when printing the same table
multiple times.
table_class : str or `None`
A string with a list of HTML classes used to style the table.
The special default string (\'astropy-default\') means that the string
will be retrieved from the configuration item
``astropy.table.default_notebook_table_class``. Note that these
table classes may make use of bootstrap, as this is loaded with the
notebook.  See `this page <http://getbootstrap.com/css/#tables>`_
for the list of classes.
css : string
A valid CSS string declaring the formatting for the table. Defaults
to ``astropy.table.jsviewer.DEFAULT_CSS_NB``.
display_length : int, optional
Number or rows to show. Defaults to 50.
show_row_index : str or False
If this does not evaluate to False, a column with the given name
will be added to the version of the table that gets displayed.
This new column shows the index of the row in the table itself,
even when the displayed table is re-sorted by another column. Note
that if a column with this name already exists, this option will be
ignored. Defaults to "idx".
Notes
Currently, unlike `show_in_browser` (with ``jsviewer=True``), this
method needs to access online javascript code repositories.  This is due
to modern browsers\' limitations on accessing local files.  Hence, if you
call this method while offline (and don\'t have a cached version of
jquery and jquery.dataTables), you will not get the jsviewer features.'

def show_in_notebook(self, tableid=None, css=None, display_length=50, table_class=u'astropy-default', show_row_index=u'idx'):

    from .jsviewer import JSViewer
    from IPython.display import HTML
    if (tableid is None):
        tableid = u'table{0}-{1}'.format(id(self), np.random.randint(1, 1000000.0))
    jsv = JSViewer(display_length=display_length)
    if show_row_index:
        display_table = self._make_index_row_display_table(show_row_index)
    else:
        display_table = self
    if (table_class == u'astropy-default'):
        table_class = conf.default_notebook_table_class
    html = display_table._base_repr_(html=True, max_width=(-1), tableid=tableid, max_lines=(-1), show_dtype=False, tableclass=table_class)
    columns = display_table.columns.values()
    sortable_columns = [i for (i, col) in enumerate(columns) if (col.dtype.kind in u'iufc')]
    html += jsv.ipynb(tableid, css=css, sort_columns=sortable_columns)
    return HTML(html)
