Look up validations in ax 2009

hi friends,

I was wrote a look method in form Data Source Level.here am mentioned the code below

public void lookup(FormControl _formControl, str _filterStr)

{

SysTableLookup sysTableLookup = SysTableLookup::newParameters(tablenum(PurchTable), _formControl);

Query query = new Query();

QueryBuildDataSource queryBuildDataSource = query.addDataSource(tablenum(PurchTable));

QueryBuildRange queryBuildRange = queryBuildDataSource.addRange(fieldnum(PurchTable, OrderAccount));

PurchTable PurchTable;

;

if (ProductInform.VendorAccountNumber == “”)

{

sysTableLookup.addLookupfield(fieldnum(PurchTable, PurchId));

sysTableLookup.addLookupfield(fieldnum(PurchTable, PurchName));

sysTableLookup.addLookupfield(fieldnum(PurchTable, OrderAccount));

queryBuildDataSource.addRange(fieldnum(PurchTable,PurchStatus)).value(queryValue(PurchStatus::Backorder));

sysTableLookup.addLookupfield(fieldnum(PurchTable, PurchStatus));

sysTableLookup.parmQuery(query);

sysTableLookup.performFormLookup();

}

else

{

queryBuildRange.value(queryvalue(ProductInform.VendorAccountNumber));

sysTableLookup.addLookupfield(fieldnum(PurchTable, PurchId));

sysTableLookup.addLookupfield(fieldnum(PurchTable, PurchName));

sysTableLookup.addLookupfield(fieldnum(PurchTable, OrderAccount));

queryBuildDataSource.addRange(fieldnum(PurchTable,PurchStatus)).value(queryValue(PurchStatus::Backorder));

sysTableLookup.addLookupfield(fieldnum(PurchTable, PurchStatus));

sysTableLookup.parmQuery(query);

sysTableLookup.performFormLookup();

}

}

it works fine…

It shows like that

PurchId PurchName Status

23456 Lcd TV Open Order

258963 Black Open Order

my problem is while am select Filter by Field in Status Field.And am entered Invoiced means its alaso displayed.

but my requirement is only display the open order not others Like Invoiced,Receive…

Pls any one help form that in Ax 2009…