       ST.once "sort#{@_uid}", @method('sort')
   
   @method 'generatePrintHTML', (html, options={}) ->
-    oldMapping = @_mapping
-    oldSortColumn = @_sortColumn
-    if options.sortColumn
-      @_sortColumn = options.sortColumn
-      @_mapping = oldMapping.slice(0)
-      if sortFunction = @sortFunction()
-        @_mapping.sort sortFunction
-    
+    rows = @_ordered.slice(0)
+    rows.sort @sortFunction(options.sortColumn)
     html.push '<table class="tableView">'
-    @generateTableHTML html, 'print'
+    @generateTableHTML html, rows, 'print'
     html.push '</table>'
-    
-    @_mapping = oldMapping
-    @_sortColumn = @_sortColumn
 
   @method 'print', (options={}) ->
     html = []

        $('.columnsButton', self._element).css 'top', self._tableElement.position().top
      , 1)

  @method 'generateTableHTML', (html, media='screen') ->
    html.push '<thead>'
    @generateHeaderInnerHTML html, media
    html.push '</thead><tbody>'
    @generateBodyInnerHTML html, media
    html.push '</tbody>'
  
  @method 'generateHeaderInnerHTML', (html, media='screen') ->

    html.push '<th style="cursor:pointer" onclick="ST.TableView.Instances[' + @_id + '].setSortColumn(' + column.index + ')">'
    html.push column.title
    
    if media == 'screen' && column == @_sortColumn
      html.push '<span class="sortLabel">'
      if @_reverseSort
        html.push ' &#x2191;' 
