@@ -905,16 +905,18 @@ def _handle_qgrid_msg_helper(self, content):
905905 if content ['type' ] == 'cell_change' :
906906 col_info = self ._columns [content ['column' ]]
907907 try :
908+ location = (self ._df .index [content ['row_index' ]],
909+ content ['column' ])
910+
908911 val_to_set = content ['value' ]
909912 if col_info ['type' ] == 'datetime' :
910913 val_to_set = pd .to_datetime (val_to_set )
911914
912- self ._df .at [self ._df .index [content ['row_index' ]],
913- content ['column' ]] = val_to_set
915+ self ._df .at [location ] = val_to_set
914916 query = self ._unfiltered_df [self ._index_col_name ] == \
915917 content ['unfiltered_index' ]
916918 self ._unfiltered_df .loc [query , content ['column' ]] = val_to_set
917- self ._trigger_df_change_event ()
919+ self ._trigger_df_change_event (location )
918920 except (ValueError , TypeError ):
919921 msg = "Error occurred while attempting to edit the " \
920922 "DataFrame. Check the notebook server logs for more " \
@@ -963,13 +965,14 @@ def _handle_qgrid_msg_helper(self, content):
963965 elif content ['type' ] == 'filter_changed' :
964966 self ._handle_filter_changed (content )
965967
966- def _trigger_df_change_event (self ):
968+ def _trigger_df_change_event (self , location = None ):
967969 self .notify_change (Bunch (
968970 name = '_df' ,
969971 old = None ,
970972 new = self ._df ,
971973 owner = self ,
972974 type = 'change' ,
975+ location = location ,
973976 ))
974977
975978 def get_changed_df (self ):
0 commit comments