2

私はOraceApexを使用しています。具体的には次のとおりです。

SELECT
    APEX_ITEM.radiogroup(1,EMP_ACTIVE,'Y',NULL,'disabled'),
    APEX_ITEM.radiogroup(2,CUST_ACTIVE,'Y',NULL,'disabled'),
    APEX_ITEM.radiogroup(3,USER_ACTIVE,'Y',NULL,'disabled')
FROM table A;

問題は、このステートメントは正常に機能しますが、画面上で読みにくいことです。

ユーザーが読みやすくすると同時に、ユーザーが実際にラジオグループを変更できないようにするために、このラジオグループを無効な外観なしで通常のラジオグループのように見せるための別の方法はありますか?

4

2 に答える 2

2

ラジオボタンを選択的に無効にすることができます。選択されていないものを無効にし、選択されたものを「アクティブ」のままにします

with d as (
select 'N' emp_active, 'N' cust_active, 'Y' user_active
from dual
union all
select 'N', 'Y', 'N'
from dual
union all
select 'Y', 'N', 'N'
from dual
)
SELECT
   APEX_ITEM.radiogroup(1,EMP_ACTIVE,'Y',NULL, CASE EMP_ACTIVE WHEN 'N' THEN 'disabled' END) EMP_ACTIVE,
   APEX_ITEM.radiogroup(2,CUST_ACTIVE,'Y',NULL, CASE CUST_ACTIVE WHEN 'N' THEN 'disabled' END) CUST_ACTIVE,
   APEX_ITEM.radiogroup(3,USER_ACTIVE,'Y',NULL, CASE USER_ACTIVE WHEN 'N' THEN 'disabled' END) USER_ACTIVE
FROM d;

無効および有効な無線

(そして私がこれを正しく見ている場合:あなたのラジオグループは垂直です;列内で1つだけが選択されていますか?)

(ラジオボタンを「読み取り専用」にできない理由からのアイデア)

于 2012-07-17T13:27:06.653 に答える
2

別の方法は、ラジオボタンのように見える独自のアイコンを作成し、次のように使用することです。

SELECT
    '<img src="' || case EMP_ACTIVE when 'Y' then 'myrg_selected.png' 
                                    else 'myrg_notselected.png' end || '"/>',
    '<img src="' || case CUST_ACTIVE when 'Y' then 'myrg_selected.png' 
                                    else 'myrg_notselected.png' end || '"/>',
    '<img src="' || case USER_ACTIVE when 'Y' then 'myrg_selected.png' 
                                    else 'myrg_notselected.png' end || '"/>'
FROM table A;

ロジックを関数に移動して、レポートを単純化することができます。

SELECT
    mypkg.radio_img(EMP_ACTIVE),
    mypkg.radio_img(CUST_ACTIVE),
    mypkg.radio_img(USER_ACTIVE)
FROM table A;
于 2012-07-18T09:24:36.143 に答える