तुम बहुत करीब हो।
select apex_item.checkbox2(10, empno) select_me,
apex_item.text(20, empno) empno,
apex_item.text(30, ename)||apex_item.hidden(50, empno) ename
from emp
मैं छिपी हुई वस्तु को जोड़ रहा हूं क्योंकि मैं इसे अपने कॉलम में नहीं चाहता। लेआउट के साथ खिलवाड़।
साथ ही, चेकबॉक्स के काम करने के तरीके के कारण छिपी हुई वस्तु भी है। चेकबॉक्स केवल चेक किए गए आइटम के लिए अपना मान सबमिट करते हैं। इसका मतलब यह होगा कि सरणी 10 में 3 मान हैं। अन्य सरणियों में अभी भी सभी पंक्तियों के मान होंगे।
यही कारण है कि मैंने फिर से छिपे हुए एम्पनो को जोड़ा:ताकि हम चेक किए गए मानों को अन्य पंक्तियों से मिला सकें।
सबमिट करने की प्रक्रिया पर:
DECLARE
v_empno emp.empno%TYPE;
v_ename emp.ename%TYPE;
BEGIN
--f10: checkbox
--f20: empno
--f30: ename
--f50: empno again
for i in 1..apex_application.g_f10.count
loop
for j in 1..apex_application.g_f50.count loop
if apex_application.g_f10(i) = apex_application.g_f50(j)
then
-- access values for the selected rows in the other arrays
v_empno := apex_application.g_f20(j);
v_ename := apex_application.g_f30(j);
apex_debug_message.log_message('Employee: '||v_empno||' - '||v_ename);
end if;
end loop;
end loop;
END;
पेज चलाएँ, डिबग सक्षम करें, रिकॉर्ड 2, 4 और 6 चुनें, सबमिट करें।
डीबग आउटपुट:
अब आपको बस इतना करना है कि अपनी प्रोसेसिंग को उसी लूप में रखना है।