如何在显示前过滤数据,使得Grid只列出符合逻辑要求的数据?

Gird在PeopleSoft中的用法是比较普遍的,通常可以用来维护一个列表,PeopleSoft自身的机制是可以对单表进行添加和修改,但在实际运用中会遇到一些特殊的情况,这时可以借助PeopleCode来达到我们的需求。

如何在显示前过滤数据,使得Grid只列出符合逻辑要求的数据?
在默认情况下,Grid会显示数据库表里面所有的数据,但有时我们希望只显示某一部分数据,这时我们可以在Record.Field.RowInit数据加载时过滤数据。假设Page设计为2个Level.
 
 

Local Rowset &HDR_ROWSET, &LINE_ROWSET, &LINE_ROWSET2;
Local Record &LINE_REC, &LINE_REC2, &LINE_REC3, &LINE_REC4;

&HDR_ROWSET = GetLevel0();

&LINE_ROWSET = &HDR_ROWSET(1).GetRowset(1);如果一个component里面有多个page,则根据page所处的位置依次叠加。

&LINE_REC = &LINE_ROWSET(1).DBS_SECAUDT_VW4; 说明:DBS_SECAUDT_VW4是Grid里面要加载的view
&Condition = "where AUTHORIZED_OPRID=:1 or DBS_SEC_AUTHOPR=:2";说明:设置过滤条件,只加载AUTHORIZED_OPRID或者DBS_SEC_AUTHOPR等于某一个人的数据。

ScrollFlush(Record.DBS_SECAUDT_VW4);说明:将Grid里面的数据清空。
ScrollSelect(1, Record.DBS_SECAUDT_VW4, Record.DBS_SECAUDT_VW4, &Condition, %OperatorId, %OperatorId);说明:将符合条件的数据填充到Grid中。
至此,页面加载的时候就只会列出符合条件的数据了

Note:This blog entries are focus on PeopleSoft & The Releated Technical skills,I will appreciate if you use it and recommend it.
原文地址:https://www.cnblogs.com/darcyhu/p/1848227.html