# Sort grid's search fields list.
grid.element('#w2p_query_fields').components = sort_grid_search_fields_list(grid)
def sort_grid_search_fields_list(grid):
# type: (grid: gluon.DIV) -> List[gluon.OPTION]
"""Sort grid's search fields list.
:param grid: Grid.
:return: Sorted search fields list (HTML options).
"""
keys = [] # type: List[str]
elements = {} # type: Dict[str, str]
for element in grid.element('#w2p_query_fields').components: # type: gluon.OPTION
keys.append(element.flatten())
elements[element.flatten()] = element['_value']
keys.sort(key=str.lower)
return [gluon.OPTION(key, _value=elements[key]) for key in keys]