Accueil → WEBDEV 27 → Frameset+irame table refresh
Frameset+irame table refresh
Débuté par Dean, 17 jan. 2008 14:11 - 2 réponses
Posté le 17 janvier 2008 - 14:11
Hi, I have frame set with 3 frames (Left,Top and bottom). In top frame have "master" table. The data on rest of the frames should be refreshed depending on selected row in top frame table. I've manage to do this via general server/browser procedures (don't know other way). The problem is that in bottom frame i have buttons and IFRAME control to display dynamic pages which simulates tab behavior.
There are 3 problems:
1. Buttons in WebDev11 doesn't have On/Off (or I don't know how to do it) - I need that the button clicked stays "pushed" to indicate on which "tab" user is.
2. In one of the "tabs" I have table which displays records associated with selected row in top frame table. It doesn't refresh when I choose anoder row in top frame table without clicking in it to force sync.
3. In one of the "Tabs" i have linked documents which resides on client computer. Question: How to display that file (.doc,.xls,.jpg etc) and what control to use for "preview" No editing needed, just display.

Posté le 17 janvier 2008 - 17:05

1 -> you have to change the button's image for that to happen.
2 -> it is a normal comportement if frames are not cascading so you have to manage it by code. Depending on the
structure you could refresh the address of the frame for doing so. Difficult to say more without the pages and code.
3 -> are you sure you want a website to link files on client computer ?!? However to link files locally or on a local
network, you just need the files' path but it differs from a normal one. To see, just drag n' drop a file to an IE
Window, right click and choose Properties then look at the address.
Be carefull about spaces and special chars which need to be encoded. URLEncode will be your friend for that (not sure
but you might need an ASCII table as URLEncode doesn't encode all the chars).


Posté le 17 janvier 2008 - 19:33
1. where to change it? button is set to open a project page in target ifrm_tab. If I put any code in server click procedure of button, then it doesn't works at all.

2. There is Frame Set Main which contains FSLeft,FSTop and FSBottom frames
FSBottom frame has some edit and combo fields which are details of selected row in top table.
Under it, there is IFRAME control which initialy defaults to first of 5 pages which simulates the tabs. Click on each button opens corresponding page in IFRAME control "as described" (target: display page xx.. in iframe control, Operation on controls set to none)

Flow is following: gprSql connect -> opening FSETMain with fsleft, fsTop,fsBottom frames->
FSTop initialization: lprFillGrid - fills up master table with data
Tables select row (browser) procedure calls global browser procedure gprGetData with selected row number and displayedTabID parameters.

gprGetData calls via ajaxexecute() global server procedure gprReadData with parameters - rowNum and pagedisplayed. gprReadData reads data from SQL depending on the parameters, data from readed data source are converted to tab delimited string and calls global browser procedure gprRefreshPage with data stream tab delimited as string and displayed page id
gprRefresh page then refreshes edit fields in corresponding IFRAME page.

Flow is probably complicated, but i encountered that in browser procedures in pages, there is maximum 2 calls to ajaxexecute - third is executed once and never again !?

If you have time, you can see whats happening on following address:

any suggestions will be greatly appreciated.

3. Should I use iframe control to display file or something else?