2012-07-17 71 views
2

我使用Orace頂點,具體如下:的Oracle APEX radioGroup中禁用

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; 

的問題是,這種說法工作正常,但很難在屏幕上閱讀。

我的問題是,是否有另一種方法使這個radiogroup看起來像一個正常的radiogroup,沒有禁用的外觀,爲了讓用戶更容易閱讀,但同時又不允許用戶真正地改變radiogroup?

謝謝

回答

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; 
+1

啊 - 這似乎比我建議的更合理。它從來沒有發生過我! KISS的好例子。 – Tom 2012-07-18 09:33:13

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; 

disabled and enabled radios

(如果我看到這是正確的:您的無線電集團是垂直的,一列中只選擇了一個?)

(從Why can't radio buttons be "readonly"?採取IDEA)

+0

感謝湯姆,但不能確定這是否是我所追求的,因爲我可以讓我的RadioGroup中禁用,但它的外觀是全部灰色且難以閱讀。當你不禁用它時,它保持藍色並且易於閱讀,這是我之後的,但仍然是隻讀的。希望這是有道理的。謝謝。 – tonyf 2012-07-17 14:29:40

+0

不幸的是,這個radiogroups沒有readonly屬性,你可以在我的帖子的鏈接問題中找到它。只有解決方法或替代方法。我的代碼所做的是禁用未選中的所有字段,並將選中的選項保持爲藍色,因此很容易發現,而用戶無法選擇其他選項(它們全部禁用)。如果這不是真的爲你做,我會看看一個不產生radiogroup的替代sql語句。希望有所幫助。 – Tom 2012-07-17 14:45:02

+0

其實湯姆,我認爲你提供的是我所追求的。我會放棄它。謝謝。 – tonyf 2012-07-17 14:58:15