我有一个包含父记录和几个子记录的页面。有一个字段(级别 1)是一个复选框,它是“最终草案”字段 - 选中此字段后,无法进行更多更改(即使在更正模式下);必须插入新行/effdt。孩子们的记录都在2级。现在,我拥有的是:
&RS7 = GetRowset(Scroll.AVZ_JD_DTL_TBL);
&final_draft = &RS7.GetRow(1).getrecord(Record.AVZ_JD_DTL_TBL).getfield (Field.FINAL_VALUE).Value;
If &final_draft = "Y" Then
Page.AVZ_JD_DTL_PG.DisplayOnly = True;
Else
Page.AVZ_JD_DTL_PG.DisplayOnly = False;
End-If;
因此,假设我处于校正模式,并且我有 3 行 - effdts 2012 年 1 月 1 日、2012 年 5 月 1 日和 2012 年 6 月 1 日,勾选了日期为 2012 年 5 月 1 日的行,当我在生效日期“分页”/“滚动”时,我希望 2012 年 1 月 1 日的行是可编辑的,2012 年 5 月 1 日的行是只读的,然后是 2012 年 6 月 1 日的行可编辑。
我想也许我需要单独“禁用”每个行集,而不是整个页面。我只是在研究行集/滚动,在程序的早期我正在做一些操作:
&RS1 = GetLevel0().GetRow(1).GetRowset(Scroll.AVZ_JD_DTL_TBL).GetRow(1).GetRowset(Scroll.AVZ_JD_RESP_TBL); &RS2 = GetLevel0().GetRow(1).GetRowset(Scroll.AVZ_JD_DTL_TBL).GetRow(1).GetRowset(Scroll.AVZ_JD_EXPR_TBL);
&RS1.Sort(AVZ_JD_RESP_TBL.ORDER_SEQ, "A"); &RS2.Sort(AVZ_JD_EXPR_TBL.ORDER_SEQ, "A");
问题是,我如何知道我当前正在查看哪一行,然后获取该行的 FINAL_VALUE 字段,然后为该 effdt 灰色/禁用页面上的所有内容?(然后,当然,如果您通过该 effdt 到没有选中该复选框的那个,则所有内容都需要再次可编辑)。
谢谢