Custom search [examples]

The Section header has a “search” icon calling “Custom search delegate”

450px-customqueryvfp

The code in the custom search delegate. It could be a modal “form” built out of the Lianja UI Framework components.

////////////////////////////////////////////////////////////////
// Event delegate for 'customsearch' event
proc Customers_section1_customsearch()
	m_recno = recno()
	m_select = select()
	select customers
	browse caption "Customers" noedit ;
		fields companyname:h="Company Name" size 400,400 title "Select a Customer"
        select m_select
	if _result != 0
		Lianja.getElementByID("Customers.section1").goto(_result)
 		return
	endif
	goto m_recno
endproc

https://www.lianja.com/doc/index.php/Developing_Custom_Query_Builders_in_Visual_FoxPro


 

 

 

Search

Q:

1. Is it possible to modify the Placeholder text “Instant Search” in the instant search box to a custom value?
2. Is it possible to place an InputMask on the instant search box to force input to uppercase, for example?
3. Are the contents of the instant search box’s text field accessible in script code?

A:

1. No.
2. No, but the search is case insensitive.
3. Yes, in the Page Instant Search delegate.

Instant Search – http://www.lianja.com/doc/index.php/Instant_Search
Custom Delegates – http://www.lianja.com/doc/index.php/…Instant_Search

Also, see the Page Custom Search – http://www.lianja.com/doc/index.php/Custom_Search


 

 

Search

Q:
is possible to know the contents of the char contained in the “search box” (Instant search is upper right field with magnifyer)
A:
the search field is not currently exposed.


A quick explanation on how to search data behind a section either by referencing the row itself, or using the search delegate.
https://youtu.be/a_cSD_oBz-Y


Q:

to find the right record, I’ve write a RSP page to display, filter and sort the table.
is possible to do something like this in a grid?

With VFP, my user can click on a column, then just typing some char, I open a “search” window
Is possible something like that with Lianja?
A:
The way I would do it, is to just add a custom control.
In this case, add a textbox that calls a showdialog.
Look back at this thread.

http://lianja.com/community/showthre…grid+container

Code:
public mysearchbox

define class clsmytextbox as textbox
proc interactivechange()
Lianja.writelog(this.text)
endproc
enddefine

proc mycontainer

mycontainer = createobject("container")
mycontainer.layout = "horizontal"
mycontainer.height = 50
mycontainer.addobject("mysearchbox","clsmytextbox" )

return mycontainer

In this case, I am just writing out as each letter is entered.

A2:
Ahh – you want to be able to type in the top row.
You can actually just use webview in the menu.
I just tried this and it worked well for me.

Under menu, click visible.
Then add an rsp or jssp page as the menu panel.
Adjust the height.


Instant Search – Search information shown in Section HeaderBar

Code:
$("page:customers?action=search&text={customers.companyname}||hidedialogpanel")

 

Code:
$("section:section1?action=search&text={}")

 


Q:
I have a page with a grid section and below it a canvas section
I want a search panel for the grid so in the grid Search Panel attributes I checked true for Visible and Auto Create.
Actually, the panel is there but the panel has nothing in it. It’s just a blank strip.
A:
Search panel for the grid means you get a row between section name and a grid body.
It is empty until you chose column from grid for this use.
You need to doubleclick on Last Name column in the grid and set attribute Search panel field=True
You dont need canvas section with a field for that. The field is already on that panel.



Search

Q:
setting a form field as ‘Search field‘ + ‘User-selectable search field’ means the user can click the field they want to use in the main form search.
What I don’t get what it means if ‘Search Field’ is set but ‘User selectable’ is not set
A:
You can set one ‘Search Field’ or set one or more user selectable ones.


Q:
user will be able to choose from a drop-down combo box. Based on the value selected in the combo-box, the rest of the form will be updated.
A:
– Set the search field on the section (e.g. employees.lastname)
Add a Field and set its choices (e.g. select lastname from employees)
– Create an interactivechange delegate for the combobox field to search for the value


Lianja Web Client has built-in support for queries called “Instant Selections“?
Setup and instant selection.

Deploy your App from the “Web App View”.
Now your users can query data based on known selections.