       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 = []

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

    
    html.push '</th>'
  
  @method 'generateBodyInnerHTML', (html, rows=null, media='screen') ->
    self = this
    rows ||= @_ordered
    for item in rows
      self.generateRowHTML item, html, media
  
  @method 'activateBody', ->
