         for sortConfig in sortInfo
             sort = @query.fields.at(sortConfig.name).sortBy
             sortConfig.fn = sort if sort
-        @refs.grid.data = _.sorty(sortInfo, @refs.grid.data)
-        @setState(sortInfo: sortInfo, selIndex: undefined)
 
-    getSelected: ->
-        @query.results.modelAt(@state.selIndex) if @state.selIndex?
+        @setState(sortInfo: sortInfo, selectedIndex: undefined, selectedModel: undefined)
 
-    rowGetter: (rowIndex) ->
-        @query.results.rowAt(rowIndex, visibleOnly:true)
-
-    hideEditor: -> @setState(selIndex: null)
+    hideEditor: -> @setState(selectedIndex: null)
 
     onEditCancel: (model) ->
         if model.isNew()
-            @query.results.removeRow(@state.selIndex)
+            @query.results.removeRow(@state.selectedIndex)
         this.hideEditor()
 
     onEditSave: (model) ->
-        @query.results.saveModelChanges(model, @state.selIndex)
+        @query.results.saveModelChanges(model, @state.selectedIndex)
+
+        this.refs.grid.data[this.state.selectedIndex] =
+            @query.results.rowAt( @state.selectedIndex, visibleOnly: true )
+
         this.hideEditor()
 
     renderEditor: ->


            <div className='wrapper'>

                {@renderEditor() if @canEdit() and @state.selIndex?}

                <Lanes.Vendor.Grid
                    ref="grid"

                    rowHeight={@props.rowHeight}
                    dataSource={@dataSource}
                    paginationFactory = {@makeToolBar}
                    selected={@state.selectedModel?.id}
                    sortInfo={@state.sortInfo}
                    onSortChange={@onSortChange}
                    onSelectionChange={@onRowClick}
