@@ -1007,7 +1007,6 @@ def requery(
1007
1007
1008
1008
rows = self .driver .execute (query )
1009
1009
self .rows = rows
1010
- print (self .rows )
1011
1010
# now we can restore the sort order
1012
1011
self .load_sort_settings (sort_settings )
1013
1012
self .sort (self .table )
@@ -2190,8 +2189,8 @@ def sort_by_column(self, column: str, table: str, reverse=False) -> None:
2190
2189
:param reverse: Reverse the sort; False = ASC, True = DESC
2191
2190
:returns: None
2192
2191
"""
2193
- # Target sorting by this ResultSet
2194
- rows = self # search criteria is based on rows
2192
+ # Target sorting by this DataFrame
2193
+ rows = self . rows # search criteria is based on rows
2195
2194
target_col = column # Looking in rows for this column
2196
2195
target_val = column # to be equal to the same column in self.rows
2197
2196
@@ -2209,6 +2208,9 @@ def sort_by_column(self, column: str, table: str, reverse=False) -> None:
2209
2208
].description_column # and return the value in this column
2210
2209
break
2211
2210
2211
+ print ("rels" , rels , "\n " )
2212
+ print ("rows" , rows , "\n " )
2213
+
2212
2214
def get_sort_key (row ):
2213
2215
try :
2214
2216
return next (
@@ -2220,11 +2222,14 @@ def get_sort_key(row):
2220
2222
return None
2221
2223
2222
2224
try :
2223
- self .sort_values (
2224
- by = self .index , key = get_sort_key , ascending = not reverse , inplace = True
2225
+ self .rows .sort_values (
2226
+ by = rows ,
2227
+ key = get_sort_key ,
2228
+ ascending = not reverse ,
2229
+ inplace = True ,
2225
2230
)
2226
2231
except KeyError :
2227
- logger .debug (f"ResultSet could not sort by column { column } . KeyError." )
2232
+ logger .debug (f"DataFrame could not sort by column { column } . KeyError." )
2228
2233
2229
2234
def sort_by_index (self , index : int , table : str , reverse = False ):
2230
2235
"""
@@ -2237,7 +2242,7 @@ def sort_by_index(self, index: int, table: str, reverse=False):
2237
2242
:param reverse: Reverse the sort; False = ASC, True = DESC
2238
2243
:returns: None
2239
2244
"""
2240
- column = self .columns [index ]
2245
+ column = self .rows . columns [index ]
2241
2246
self .sort_by_column (column , table , reverse )
2242
2247
2243
2248
def store_sort_settings (self ) -> list :
@@ -2248,7 +2253,7 @@ def store_sort_settings(self) -> list:
2248
2253
2249
2254
:returns: A list containing the sort_column and the sort_reverse
2250
2255
"""
2251
- return [self .sort_column , self .sort_reverse ]
2256
+ return [self .rows . attrs [ " sort_column" ] , self .rows . attrs [ " sort_reverse" ] ]
2252
2257
2253
2258
def load_sort_settings (self , sort_settings : list ) -> None :
2254
2259
"""
@@ -2257,8 +2262,8 @@ def load_sort_settings(self, sort_settings: list) -> None:
2257
2262
2258
2263
:param sort_settings: A list as returned by `ResultSet.store_sort_settings()`
2259
2264
"""
2260
- self .sort_column = sort_settings [0 ]
2261
- self .sort_reverse = sort_settings [1 ]
2265
+ self .rows . attrs [ " sort_column" ] = sort_settings [0 ]
2266
+ self .rows . attrs [ " sort_reverse" ] = sort_settings [1 ]
2262
2267
2263
2268
def sort_reset (self ) -> None :
2264
2269
"""
@@ -2278,10 +2283,16 @@ def sort(self, table: str) -> None:
2278
2283
`ResultSet.sort_by_column()`
2279
2284
:returns: None
2280
2285
"""
2281
- if self .sort_column is None :
2286
+ if self .rows .attrs ["sort_column" ] is None :
2287
+ print ("Sort column is None. Resetting sort." )
2282
2288
self .sort_reset ()
2283
2289
else :
2284
- self .sort_by_column (self .sort_column , table , self .sort_reverse )
2290
+ print (
2291
+ f"Sort column is not None. Sorting by column { self .rows .attrs ['sort_column' ]} "
2292
+ )
2293
+ self .sort_by_column (
2294
+ self .rows .attrs ["sort_column" ], table , self .rows .attrs ["sort_reverse" ]
2295
+ )
2285
2296
2286
2297
def sort_cycle (self , column : str , table : str ) -> int :
2287
2298
"""
@@ -2293,17 +2304,17 @@ def sort_cycle(self, column: str, table: str) -> int:
2293
2304
:returns: A ResultSet sort constant; ResultSet.SORT_NONE, ResultSet.SORT_ASC, or
2294
2305
ResultSet.SORT_DESC
2295
2306
"""
2296
- if column != self .sort_column :
2297
- self .sort_column = column
2298
- self .sort_reverse = False
2307
+ if column != self .rows . attrs [ " sort_column" ] :
2308
+ self .rows . attrs [ " sort_column" ] = column
2309
+ self .rows . attrs [ " sort_reverse" ] = False
2299
2310
self .sort (table )
2300
2311
return SORT_ASC
2301
- if not self .sort_reverse :
2302
- self .sort_reverse = True
2312
+ if not self .rows . attrs [ " sort_reverse" ] :
2313
+ self .rows . attrs [ " sort_reverse" ] = True
2303
2314
self .sort (table )
2304
2315
return SORT_DESC
2305
- self .sort_reverse = False
2306
- self .sort_column = None
2316
+ self .rows . attrs [ " sort_reverse" ] = False
2317
+ self .rows . attrs [ " sort_column" ] = None
2307
2318
self .sort (table )
2308
2319
return SORT_NONE
2309
2320
@@ -5181,9 +5192,9 @@ def update_headings(
5181
5192
if (
5182
5193
x ["column" ] == sort_column
5183
5194
and sort_column is not None
5184
- and sort_order != ResultSet . SORT_NONE
5195
+ and sort_order != SORT_NONE
5185
5196
):
5186
- x ["heading" ] += asc if sort_order == ResultSet . SORT_ASC else desc
5197
+ x ["heading" ] += asc if sort_order == SORT_ASC else desc
5187
5198
element .Widget .heading (i , text = x ["heading" ], anchor = "w" )
5188
5199
5189
5200
def enable_sorting (self , element : sg .Table , fn : callable ) -> None :
@@ -5823,7 +5834,7 @@ def default_row_dict(self, dataset: DataSet) -> dict:
5823
5834
q = f"SELECT { default } AS val FROM { table } ;"
5824
5835
5825
5836
rows = self .driver .execute (q )
5826
- if rows .exception is None :
5837
+ if rows .attrs [ " exception" ] is None :
5827
5838
try :
5828
5839
default = rows .fetchone ()["val" ]
5829
5840
except KeyError :
0 commit comments