Home » Developer & Programmer » Forms » set_item_instance_property for null records in Multiple Record Block
icon10.gif  set_item_instance_property for null records in Multiple Record Block [message #250703] Wed, 11 July 2007 00:25 Go to next message
sblindgren
Messages: 4
Registered: June 2007
Location: Salt Lake City, Utah
Junior Member
I have a situation that I have a multiple record block with the capability of displaying 16 records (rows). This all depends on the selection criteria entered at the top of the screen. This multiple record block has two columns (miles / hours) that may have entry and then save the entered values. I turn the Miles / Hours values off or on Dependant on the value of M or H. This process is all working correctly.
My problem arises from wanting to shut off the Miles and Hours fields off for null rows. I have tried to create a loop procedure that would turn off the Miles and Hours for all the rows being one greater than the rows retrieved up to the value of 16.
Has anyone successfully done this or is it even possible? Razz
Re: set_item_instance_property for null records in Multiple Record Block [message #253132 is a reply to message #250703] Sun, 22 July 2007 21:20 Go to previous messageGo to next message
djmartin
Messages: 10181
Registered: March 2005
Location: Surges Bay TAS Australia
Senior Member
Account Moderator
When a Forms screen displays 16 rows only the uppermost 'blank' row is actually 'active', all the others are just screen filler.

If you want to turn fields 'on' and 'off' depending on information in a row then use 'set_item_property(enterable)' in the 'when-new-record-instance' trigger (read the doco for the 'when-create-record' trigger so that you understand the differences between these two triggers).

Forms is a block mode environment. It is not VB. Looping is not a common method of doing things in an Oracle Form.

David

Oops. I said 'set_item_property', I meant 'set_item_instance_property'.

[Updated on: Thu, 15 November 2007 18:11]

Report message to a moderator

icon10.gif  Re: set_item_instance_property for null records in Multiple Record Block [message #279910 is a reply to message #250703] Sun, 11 November 2007 13:49 Go to previous message
sblindgren
Messages: 4
Registered: June 2007
Location: Salt Lake City, Utah
Junior Member
Laughing

I was able to pull this one off and thought I would share with everybody else so if they had the need, they would know how I did it.

First, for the Miles and Hours columns in the multiple record block I set them as off (the Problem I had is that I had them on and was trying to set them off), then in the Post_Query trigger on the block, I looked at the column that was determining if it were Miles or Hours being tracked. Based on that criteria, I executed the following code:

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;


I'm hopeful that this helps someone else out, it wasn't easy, but it works great and the client is very happy with the results.

Regards,

Scott Lindgren
Previous Topic: radio button problem
Next Topic: how to control the windows maximize allow property run time
Goto Forum:
  


Current Time: Wed Mar 12 21:00:20 CDT 2025