我有新的表单,我正在寻找显示网格中的所有记录,不是指定我自己的查询,也可能是这样的:
static void queryVendtableSelect(Args _args)
{
VendTable vendTable;
while select firstOnly *
from vendTable
order by vendTable.AccountNum
where vendTable.Blocked =="aaaaaaaaa"
}
我什么时候可以把这个fontion? 任何的想法。谢谢
答案 0 :(得分:4)
对于提供的示例,您可以覆盖VendTable数据源中的init
方法,如下所示:
public void init()
{
QueryBuildDataSource qbds;
QueryBuildRange qbr;
super();
qbds = this.query().dataSourceTable(tableNum(VendTable));
qbds.sortClear();
qbds.addSortField(fieldNum(VendTable, AccountNum));
qbr = SysQuery::findOrCreateRange(qbds, fieldNum(VendTable, Blocked));
qbr.value(queryValue('aaaaaaaaa'));
}
答案 1 :(得分:2)
您可以覆盖引用表的表单数据源的init
或executeQuery
方法。在覆盖方法中,您可以创建新查询并将其设置为数据源的查询,也可以修改数据源的查询。有关修改数据源查询的示例,请参阅How to filter records in a form by code。