您的位置:首页 > 其它

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

2011-04-27 23:35 323 查看
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中。
至此,页面加载的时候就只会列出符合条件的数据了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: