Copying some code and forms from the starter db...
In a 4D v17 Windows app, bootstrap framework, can you think of a reason why the following list form and associated method don't result in the dropdown menu displaying the search list? The code that populates the Ltg_Donor_SearchFilter_at list executes in the method.
<ltg-form class="panel-primary" method="Ltg_Donors_List" table="[Donors]" type="list">
<ltg-form-head icon="fa-address-card-o" title="Donors">
</ltg-form-head>
<ltg-toolbar>
<ltg-buttons>
<ltg-button action="new" icon="fa-plus" form="Donors_Detail_boot" method="Ltg_Donors_Detail"/>
<ltg-button action="delete" icon="fa-trash" selection="checked"/>
</ltg-buttons>
<ltg-buttons>
<ltg-navigation/>
</ltg-buttons>
<ltg-buttons>
<ltg-div class="input-group">
<ltg-obj name=".Ltg_Donor_SearchField_t" list=".Ltg_Donor_SearchFilter_at"/>
<ltg-span class="input-group-addon" style="width:0px;padding-left:0px;padding-right:0px;border:none;"></ltg-span>
<ltg-obj name=".Ltg_Donor_SearchValue_t" onkeypress="return ltgSearchSubmit(event);" placeholder="#search"/>
<ltg-span class="input-group-btn">
<ltg-button action="search" icon="fa-search"/>
</ltg-span>
</ltg-div>
</ltg-buttons>
</ltg-toolbar>
etc etc.............................
</ltg-form>
C_LONGINT($nError)
C_TEXT($txtAction)
C_TEXT($txtApplication)
C_TEXT($txtForm)
C_TEXT($txtLanguage)
C_TEXT($txtPath)
// GET THE CURRENT APPLICATION TYPE (DESKTOP OR MOBILE)
$nError:=Ltg_Session_GetApplication (Ltg_Session_GetCurrent ;->$txtApplication)
If ($nError=0)
// GET THE CURRENT USER LANGUAGE SETTING
Ltg_User_GetValue (Ltg_User_GetCurrent ;"language";->$txtLanguage)
// GET THE CURRENT FORM NAME
$txtForm:=Ltg_Form_GetCurrent
// * SETUP THE PATH OF THE APPLICATION TYPE AND FORM FOR THE CURRENT USER FOR CLEAN USE OF Ltg_User_SetValue / Ltg_User_GetValue.
// application.form/value
$txtPath:=$txtApplication+"."+$txtForm+"/"
// PLEASE REVIEW USERS.XML TO SEE THE RESULTS.
// DESKTOP SEARCH?
If ($txtApplication="desktop")
// CREATE AN ARRAY OF SEARCH FILTERS...
// NOTE: YOU CAN USE THE "NAME;VALUE" FORMAT FOR THE ACTUAL VALUE AND DISPLAY VALUE;
ARRAY TEXT(Ltg_Donor_SearchFilter_at;2)
Ltg_Donor_SearchFilter_at{1}:="name;name"
Ltg_Donor_SearchFilter_at{2}:="email;email"
// SET THE FOCUS TO CONTACT NAME
Ltg_JS_Send ("ltgObjFocus('.Ltg_Donor_SearchValue_t')")
Else
// MOBILE SEARCH
Ltg_Donor_SearchField_t:="name"
End if
// DEFAULT FILTER?
If (Ltg_Donor_SearchField_t="")
Ltg_Donor_SearchField_t:="name"
End if
// GET THE CURRENT "ACTION" REQUEST
$txtAction:=Ltg_Action_GetCurrent
// TAB OR INDEX ACTION
If (($txtAction="tab") | ($txtAction="index"))
// RESTORE SAVED FILTER & SEARCH VALUES
Ltg_User_GetValue (Ltg_User_GetCurrent ;$txtPath+"contactsFilter";->Ltg_Donor_SearchField_t)
Ltg_User_GetValue (Ltg_User_GetCurrent ;$txtPath+"contactsSearch";->Ltg_Donor_SearchValue_t)
End if
// ACTIVE SEARCH?
If (Ltg_Donor_SearchValue_t#"")
// CONTAINS...
Case of
: (Ltg_Donor_SearchField_t="name")
QUERY([Donors];[Donors]Last_Name="@"+Ltg_Donor_SearchValue_t+"@")
: (Ltg_Donor_SearchField_t="email")
QUERY([Donors];[Donors]Email="@"+Ltg_Donor_SearchValue_t+"@")
End case
Else
ALL RECORDS([Donors])
End if
// SEARCH ACTION
If ($txtAction="search")
// SAVE FILTER & SEARCH VALUES
Ltg_User_SetValue (Ltg_User_GetCurrent ;$txtPath+"contactsFilter";Ltg_Donor_SearchField_t)
Ltg_User_SetValue (Ltg_User_GetCurrent ;$txtPath+"contactsSearch";Ltg_Donor_SearchValue_t)
End if
// SORT THE RECORDS ACCORDING TO THE CURRENT USER/FORM SETTINGS
Ltg_Sort (->[Donors])
End if