Skip to content

Commit c76a01b

Browse files
authored
Merge pull request #190 from andyfaff/location
ENH: add location of edited cell, closes #189
2 parents 6f63e5d + 72d3928 commit c76a01b

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

qgrid/grid.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)