1. 程式人生 > >Oracle form 程式碼控制控制元件屬性函式大全

Oracle form 程式碼控制控制元件屬性函式大全

需求:實現tab頁的實時隱藏和顯示

實現:SET_TAB_PAGE_PROPERTY('MAIN_TAB.RETS_PAGE',VISIBLE,property_off);/SET_TAB_PAGE_PROPERTY('MAIN_TAB.RETS_PAGE',VISIBLE,property_on); 以下為轉載內容,Oracle提供了各種程式碼設定屬性的函式,引數可以到form builder的聯機幫助裡面查詢,原部落格地址:http://blog.csdn.net/pan_tian/article/details/8434666

Build-In List

·  SET_APPLICATION_PROPERTY
·  SET_BLOCK_PROPERTY
·  SET_CANVAS_PROPERTY
·  SET_FORM_PROPERTY
·  SET_ITEM_PROPERTY
·  SET_ITEM_INSTANCE_PROPERTY
·  SET_LOV_PROPERTY
·  SET_MENU_ITEM_PROPERTY
·  SET_PARAMETER_ATTR
·  SET_RADIO_BUTTON_PROPERTY
·  SET_RECORD_PROPERTY
·  SET_RELATION_PROPERTY
·  SET_REPORT_OBJECT_PROPERTY
·  SET_TAB_PAGE_PROPERTY
·  SET_VIEW_PROPERTY
·  SET_WINDOW_PROPERTY

Example

set_item_property

begin
  if :<block_name>.<chk_name>='Y' then 
    set_item_property('<block_name>.<list_item_name>',VISIBLE/UPDATEABLE,PROPERTY_TRUE);
  else
    set_item_property('<block_name>.<list_item_name>',VISIBLE/UPDATEABLE,PROPERTY_FALSE);
  end if;
end; 

or

app_item_property.set_property ('<block_name>.<list_item_name>', enabled/enterable, property_on);

set_block_property

set_block_property ('<block_name>', query_allowed/update_allowed/delete_allowed, property_true);

SET_LOV_PROPERTY

SET_LOV_PROPERTY('inv_serial_lov', GROUP_NAME, 'inv_serial18');

Set_Record_Property

/*
** Built-in: SET_RECORD_PROPERTY
** Example: Mark the third record in the EMP block as if it
** were a queried record.
*/
BEGIN
Set_Record_Property( 3, ’EMP’, STATUS, QUERY_STATUS);
END;

-----------------------------------------------------------------------------------------------------------------------

Difference Between Set_Item_Instance_Property and Set_Item_Property
SET_ITEM_PROPERTY:Block中的所有Records
SET_ITEM_INSTANCE_PROPERTY:對當前Record起作用

If you want to turn fields 'on' and 'off' depending on information in a row then use 'set_item_instance_property(enterable)' in the Post_Query trigger on the block

IF :BLK_DISPLAY.METER_TYPE_ID = 'H' THEN
  SET_ITEM_INSTANCE_PROPERTY('BLK_DISPLAY.MILES',CURRENT_RECORD,VISUAL_ATTRIBUTE,'VA_DISPLAY_ONLY');
  SET_ITEM_INSTANCE_PROPERTY('BLK_DISPLAY.MILES',CURRENT_RECORD,NAVIGABLE,PROPERTY_FALSE);
  SET_ITEM_INSTANCE_PROPERTY('BLK_DISPLAY.MILES',CURRENT_RECORD,UPDATE_ALLOWED,PROPERTY_FALSE);
  SET_ITEM_INSTANCE_PROPERTY('BLK_DISPLAY.HOURS',CURRENT_RECORD,VISUAL_ATTRIBUTE,'VA_UPDATE');
  SET_ITEM_INSTANCE_PROPERTY('BLK_DISPLAY.HOURS',CURRENT_RECORD,NAVIGABLE,PROPERTY_TRUE);
  SET_ITEM_INSTANCE_PROPERTY('BLK_DISPLAY.HOURS',CURRENT_RECORD,UPDATE_ALLOWED,PROPERTY_TRUE);
ELSIF :BLK_DISPLAY.METER_TYPE_ID = 'M' THEN
  SET_ITEM_INSTANCE_PROPERTY('BLK_DISPLAY.MILES',CURRENT_RECORD,VISUAL_ATTRIBUTE,'VA_UPDATE');
  SET_ITEM_INSTANCE_PROPERTY('BLK_DISPLAY.MILES',CURRENT_RECORD,NAVIGABLE,PROPERTY_TRUE);
  SET_ITEM_INSTANCE_PROPERTY('BLK_DISPLAY.MILES',CURRENT_RECORD,UPDATE_ALLOWED,PROPERTY_TRUE);
  SET_ITEM_INSTANCE_PROPERTY('BLK_DISPLAY.HOURS',CURRENT_RECORD,VISUAL_ATTRIBUTE,'VA_DISPLAY_ONLY');
  SET_ITEM_INSTANCE_PROPERTY('BLK_DISPLAY.HOURS',CURRENT_RECORD,NAVIGABLE,PROPERTY_FALSE);
  SET_ITEM_INSTANCE_PROPERTY('BLK_DISPLAY.HOURS',CURRENT_RECORD,UPDATE_ALLOWED,PROPERTY_FALSE);
END IF;

Reference: