Set_XXX_Property Build-Ins

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:

Oracle Forms Developer Form Builder Reference, Volume 1 - Release 6i : http://docs.oracle.com/pdf/A73074_01.pdf

你可能感兴趣的:(Set_XXX_Property Build-Ins)