在同一个块中有两个不同的复选框,名为CHKBOX_REMOVE_BILL,CHKBOX_PRINT_BILL。 用户一次只能选择一个复选框。当一个人检查另一个时,应该取消选中。在Oracle Forms 6i中触发。
我在CHKBOX_REMOVE_BILL上写了这个,当时复选框改变了触发器
DECLARE
val number;
BEGIN
IF CHECKBOX_CHECKED(:BLK_REMOVE.CHKBOX_REMOVE_BILL) THEN
val := 0 ; -- replace with your real unchecked value
--:BLK_REMOVE.CHKBOX_PRINT_BILL := 1 ;
ELSE val:= 1; - 替换为您的实际检查值 - :BLK_REMOVE.CHKBOX_PRINT_BILL:= 0; 结束如果;
BEGIN
IF CHECKBOX_CHECKED(:BLK_REMOVE.CHKBOX_REMOVE_BILL) <> false THEN
:BLK_REMOVE.CHKBOX_PRINT_BILL := 0 ;
ELSE
:BLK_REMOVE.CHKBOX_PRINT_BILL := 1 ;
END IF ;
END;
EXCEPTION
WHEN OTHERS THEN
call_note_alert('Error');
END;
我在CHKBOX_PRINT_BILL上写了这个,当时复选框改变了触发器 DECLARE
val number;
BEGIN
IF CHECKBOX_CHECKED(:BLK_REMOVE.CHKBOX_PRINT_BILL) THEN
val := 1 ; -- replace with your real unchecked value
:BLK_REMOVE.CHKBOX_REMOVE_BILL := 0 ;
ELSE val:= 0; - 替换为您的实际检查值 :BLK_REMOVE.CHKBOX_REMOVE_BILL:= 1; 结束如果;
BEGIN
IF CHECKBOX_CHECKED(:BLK_REMOVE.CHKBOX_PRINT_BILL) <> false THEN
:BLK_REMOVE.CHKBOX_REMOVE_BILL := 0 ;
ELSE
:BLK_REMOVE.CHKBOX_REMOVE_BILL := 1 ;
END IF ;
END;
EXCEPTION
WHEN OTHERS THEN
call_note_alert('Error');
END;
/////// 当我选中一个复选框时,两者都被选中
在我的表单中,在名为BLK_REMOVE的同一个块中有两个名为CHKBOX_REMOVE_BILL,CHKBOX_PRINT_BILL的复选框。 当表单运行时,用户想要一次只检查一个(如单选按钮)。 如何在when-checkbox-changed上写入触发器?
我已经更改了我的代码,现在它正常运行
我在CHKBOX_REMOVE_BILL上写了这段代码,当时复选框改变了触发器。 其中CHKBOX_REMOVE_BILL选中值= 1,未选中的值= 0。
DECLARE
val number;
BEGIN
if(:BLK_REMOVE.CHKBOX_REMOVE_BILL = 0)then
:BLK_REMOVE.CHKBOX_PRINT_BILL := 2;
else
:BLK_REMOVE.CHKBOX_PRINT_BILL := 3;
end if;
EXCEPTION
WHEN OTHERS THEN
call_note_alert('Error');
END;
我在CHKBOX_PRINT_BILL上写了这个,当时复选框改变了触发器。 其中CHKBOX_PRINT_BILL选中值= 2,未选中值= 3.
DECLARE
val number;
BEGIN
if(:BLK_REMOVE.CHKBOX_PRINT_BILL = 2)then
:BLK_REMOVE.CHKBOX_REMOVE_BILL := 0 ;
else
:BLK_REMOVE.CHKBOX_REMOVE_BILL := 1 ;
end if;
EXCEPTION
WHEN OTHERS THEN
call_note_alert('Error');
END;
答案 0 :(得分:2)
使用单选按钮代替复选框