'Method to render the data as an html table. This is of use if
an html table is required without the dataTable goodness. However
if you want html for a dataTable then use the html() method
@param id: The id of the table
@param flist: The list of fields
@param action_col: The column where action columns will be displayed
(this is required by dataTables)'

def table(self, id, flist=None, action_col=0):

    data = self.data
    heading = self.heading
    start = self.start
    end = self.end
    if (not flist):
        flist = self.colnames
    header = THEAD()
    tr = TR()
    for field in flist:
        if (field == 'BULK'):
            tr.append(TH(''))
        else:
            tr.append(TH(heading[field]))
    header.append(tr)
    body = TBODY()
    if data:
        rc = 0
        for i in xrange(start, end):
            row = data[i]
            if ((rc % 2) == 0):
                _class = 'even'
            else:
                _class = 'odd'
            rc += 1
            tr = TR(_class=_class)
            for field in flist:
                if (field == 'BULK'):
                    tr.append(TD(INPUT(_id=('select%s' % row[flist[action_col]]), _type='checkbox', _class='bulkcheckbox')))
                else:
                    tr.append(TD(row[field]))
            body.append(tr)
    table = TABLE([header, body], _id=id, _class='dataTable    display')
    if current.deployment_settings.get_ui_datatables_responsive():
        table.add_class('responsive')
    return table
