2017-04-10 34 views

回答

7

有幾種方法可以做到這一點:

1.使用IN3 /或與BQL常數

你需要做的就是創建表示「A」和「B BQL常數的第一件事」。 就像是:

public class constantA: PX.Data.Constant<string> 
{ 
    public constantA() : base("A") { } 
} 
public class constantB: PX.Data.Constant<string> 
{ 
    public constantB() : base("B") { } 
} 

這將允許您使用A和B在BQL查詢。 (您可以找到有關,在T200的培訓,例3.1詳細信息:提供數據的查詢頁) (你可以使用PX.Data.Constant<int>PX.Data.Constant<decimal>等,這取決於參數類型)

之後,你可以撰寫BQL:

PXSelect<Table, Where<Table.field, In3<constantA, constantB>>> 

(或PXSelect<Table, Where<Table.field, Equal<constantA>, Or<Table.field, Equal<constantB>>>>

2.使用和所需的

PXSelect<Table, Where<Table.field, In<Required<Table.field>>>>.Select(graph, new string[]{"A","B"}) 

這種方式允許您在運行時編寫常量列表,並將其作爲參數傳遞給查詢。參數應該是相應類型的數組(在本例中爲字符串數組)。