<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def current_grid_empty(self):
 """ Check to see if grid is empty except for default values """

        empty = True
        # df IS empty if there are no rows
        if not any(self.magic_dataframe.df.index):
            empty = True
        # df is NOT empty if there are at least two rows
        elif len(self.grid.row_labels) > 1:
            empty = False
        # if there is one row, df MIGHT be empty
        else:
            # check all the non-null values
            non_null_vals = [val for val in self.magic_dataframe.df.values[0] if cb.not_null(val, False)]
            for val in non_null_vals:
                if not isinstance(val, str):
                    empty = False
                    break
                # if there are any non-default values, grid is not empty
                if val.lower() not in ['this study', 'g', 'i']:
                    empty = False
                    break
        return empty