How to filter the QueryBuildRange

Hi all,

I hv problem. I have a lookup field.

In my lookup field appears : CR-001, RM-001, RV-002, etc

I want to filter it so the only field appears is RM-001.

What should i write?

Regards

Hi,

http://chaituax.wordpress.com/2013/03/05/customised-look-up-methods/

this will help you…

Hi,

Override lookup method of the field in form datasource as below

public void lookup(FormControl _formControl, str _filterStr)
{
SysTableLookup sysTableLookup;
Query query;
QueryBuildDataSource queryBuildDataSource;

;
//Comment super
//super(_formControl, _filterStr);
sysTableLookup = SysTableLookup::newParameters(tablenum(TableName),_formControl);

//below are the list of fields which show in lookup
sysTableLookup.addLookupfield(fieldnum(TableName, FieldName1),true);
sysTableLookup.addLookupfield(fieldnum(TableName, FieldName2),false);
sysTableLookup.addLookupfield(fieldnum(TableName, FieldName3),false);

query = new Query();

queryBuildDataSource = query.addDataSource(tablenum(TableName));
//For sorting the order by selected field
queryBuildDataSource.addSortField(fieldNum(TableName,FieldName),SortOrder::Ascending);
//For filtering the record by specific value
queryBuildDataSource.addRange(fieldnum(TableName,FieldName)).value(queryValue(“RM-001”));

sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}

yes…i am writting

queryBuildDataSource.addRange(fieldnum(TableName,FieldName)).value(queryValue(“RM*”));

to return all the fieldName with the code RM

but it return nothing…i dont know what’s going wrong…

Hi,

You should try the following : queryBuildblablabla.value(“RM*”) instead of queryBuildblablabla.value(queryValue(“RM*”));

regards,

Thomas

it works man…

thx bro :slight_smile: