【问题标题】:Sort on click of Button, If again pressed then order to be changed to default sort order in Oracle Forms单击按钮排序,如果再次按下,则顺序更改为 Oracle Forms 中的默认排序顺序
【发布时间】:2019-09-06 07:56:58
【问题描述】:

ii) 排序按钮:需要引入这个新按钮来更改默认排序顺序,一旦单击或按下此按钮,则记录应根据策略编号的升序排序 注意:如果再次按下此按钮,则排序顺序应更改为默认排序顺序(与当前功能中存在的相同)

****Sort Button Code below:
====================**

Declare
    chk varchar2(100);
Begin
    if :global.chk_stat  = 1 then
        chk:= 'status'; 
        SET_BLOCK_PROPERTY('BLOCK1',ORDER_BY,chk);
        go_block('block1');
        Execute_query(all_records);
        :global.chk_stat := 2;
    Else
        SET_BLOCK_PROPERTY('BLOCK1',ORDER_BY,:cntrl.default_sort);
        go_block('block1');
        Execute_query(all_records);
        :global.chk_stat := 1;
    End If;
End;


**Code in New form Instance Trigger
====================================**

:cntrl.default_sort := GET_BLOCK_PROPERTY('BLOCK1',ORDER_BY);

【问题讨论】:

  • 问题是?

标签: oracle oracleforms


【解决方案1】:

考虑当前的订购状态取决于Get_Block_Property 方法带来的效果:

Begin
    If  Get_Block_Property('block1',Order_By) = ' Policy Desc' Then
    -- presuming the above one is your default "Order By Clause" 
        Set_Block_Property('block1',Order_By,' Policy ');
        :global.chk_stat := 2;
    Else
        Set_Block_Property('block1',Order_By,' Policy Desc');
        :global.chk_stat := 1;
    End If;
        Go_Block('block1');
        Execute_query;    
End;

也许您在其他部分使用。所以,:global.chk_stat 的分配仍然存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-15
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多