search_form=Form([
Field('account', 'reference CoA', default=request.query.get('account'),
requires=IS_EMPTY_OR(IS_IN_DB(db, 'CoA', '%(Name)s', zero="account?"))),
Field('member', 'reference Members', default=request.query.get('member'),
requires=IS_EMPTY_OR(IS_IN_DB(db, 'Members', '%(Lastname)s, %(Firstname)s',
orderby = db.Members.Lastname|db.Members.Firstname, zero="member?"))),
Field('event', 'reference Events', default=request.query.get('event'),
requires=IS_EMPTY_OR(IS_IN_DB(db, 'Events',
lambda r: f"{r.DateTime.strftime('%x')} {r.Description[:25]}",
orderby = ~db.Events.DateTime, zero="event?"))),
Field('notes', 'string'),
Field('reference', 'string')],
keep_values=True, formstyle=FormStyleBulma)
search_form.structure.find("#no_table_notes")[0]["_placeholder"] = "notes?"
search_form.structure.find("#no_table_reference")[0]["_placeholder"] = "ref?"
The member Field in particular can be a dropdown with thousands of member names. Until recently the dropdown has a vertical scroll bar which would appear when one started scrolling and allowed one to find a member quickly, but this no longer happens and one has to scroll laboriously through the whole list.