Normally we use Search specification filed in Applet List, but sometime we have to add long search expression which Search specification field can not contain (max length is 255 characters).
For that we can add search specification in applet load server scripts.
Right click on applet and from menu click on "Edit Server Scripts". From functions list click on "WebApplet_Load".
First get the bussiness component by follow below script
var oBusComp = this.BusComp();
Now add with (The 'with' statement adds the given object to the head of this scope chain during the evaluation of its statement body.) and statement
Add Sort specification as below
SetSortSpec("Created(DESCENDING)");
Now write search specification on the desired fields
for mvl field you need to use "EXISTS".
var Search1 = "EXISTS ([Case Contacts] = '" + case_id + "')"
Using AND/OR you can extend the search specification.
var Search1 = "EXISTS ([Case Contacts] = '" + case_id + "') AND ([ConType] = 'first' OR [ConType] = 'second')";
This search expression can be used with SetSearchExpr Method (SetSearchExpr sets an entire search expression on the business component, rather than setting one search specification per field).
Final code will be like below. Compile and test.
var oBusComp = this.BusComp();
var Search1 = "EXISTS ([Case Contacts] = '" + case_id + "') AND ([ConType] = 'first' OR [ConType] = 'second')";
with (oBusComp)
{
SetSearchExpr(Search1);
SetSortSpec("Created(DESCENDING)");
ExecuteQuery(ForwardBackward);
}
oBusComp = null;
What is difference between SetSearchExpr and SetSearchSpec?
SetSearchExpr sets an entire search expression on the business component, rather than setting one search specification per field.SetSearchSpec sets the search specification for a particular field.
How to add multiple values for single field one expression?
SetSearchExpr("[Id]='a' OR [Id]='b' OR [Id]='c'");
SetSearchSpec("Id", "='a' OR ='b' OR ='c'");
If the existing search specification is not on the same field as the new search specification, then the resultant search specification is a logical AND of the existing and the new search specifications. For example:
SetSearchSpec("Type", "<> 'Renewal'");
SetSearchSpec("Status", "<> 'Sold' AND [Status] <> 'Cancelled' AND [Status] <> 'Renewed'");
Comments
Post a Comment