You need to sign in to do that
Don't have an account?

Visualforce Iframe issue - passing values
I have a visualforce page that includes an iframe. In the parent window i have a list of Icons that relate to accounts (account id) and I need to be able to hover over those icons and certain details on the account show in the iframe. Is this possible? This could also be a popout type thing, too, but preferably the details should show in the iframe.
I tried using the standard popout (minipagelayout) but it is not available on sites.com for non-salesforce users and eventually these pages need to be made accessible to everyone in my company.
I hope that made sense.
Thanks!
Here is the code I currently have using the minipage layout.
<apex:page StandardController="Account" extensions="ColumnControllerExt" > <head> <script type="text/javascript"> // Popup window code function newPopup(url) { popupWindow = window.open( url,'popUpWindow','height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes') } </script> <style type="text/css"> #rowInfo,#rows{ padding:5px; text-align:center; background-color:#FFFFFF; border:solid 1px #c3c3c3; } #rowInfo { width:50px; display:bold; } </style> </head> <body> <apex:image value="/servlet/servlet.FileDownload?file=015e00000001X8a"/> <right><h1><font size="25">Any Customer, Any Employee, Any Time!</font></h1></right><br/> <center><font size="3"><a href="/apex/anyCustomerEmployeeTimeList">List View</a></font></center> <table width="100%"> <tr valign="top"> <td width="70%"> <apex:outputPanel style="width:300px" layout="block"> <apex:variable value="{!0}" var="rowNumber" /> <table> <tr align="center"> <td><a href="JavaScript:newPopup ('http://mc-www.mainman.dcs/dcs/main/index.cfm?event=showFile&ID=1D833C4A02E0D046BE&static=false');" >Key (WIG) RASCI</a></td> <td><a href="#">Acitve Project RASCI</a></td> <td><a href="#">Active Opportunity > $50K RASCI</a></td> <td><a href="#">Partner-Managed RASCI</a></td> <td><a href="#">TAM-Managed RASCI</a></td> <td><a href="#">TSE-Managed RASCI</a></td> <td><a href="#">Inactive RASCI</a></td> </tr> <tr> <apex:repeat value="{!list_of_accountmanagement}" var="col_head"> <th id="rows">{!col_head}</th> </apex:repeat></tr> <tr> <apex:repeat value="{!list_of_accountmanagement}" var="col_head"> <td id="rowInfo" border="0"> <apex:repeat value="{!map_values[col_head]}" var="col_val"> <a href="/{!col_val.id}" id="hover{!rowNumber}" position="relative" onblur="LookupHoverDetail.getHover('hover{!rowNumber}').hide();" onfocus="LookupHoverDetail.getHover('hover{!rowNumber}', '/{!col_val.id}/m?retURL=%2F{!col_val.id}&isAjaxRequest=1').show();" onmouseout="LookupHoverDetail.getHover('hover{!rowNumber}').hide();" onmouseover="LookupHoverDetail.getHover('hover{!rowNumber}', '/{!col_val.id}/m?retURL=%2F{!col_val.id}&isAjaxRequest=1').show();"> <apex:outputtext value="{!col_val.overall_status__c}" escape="false"/> </a> <!-- Increasing the value of the variable --> <apex:variable var="rowNumber" value="{!rowNumber + 1}" /> </apex:repeat> </td> </apex:repeat> </tr> </table> </apex:outputPanel> </td> <td width="30%"><apex:iframe src="https://na13.salesforce.com/01Za00000016efu?isdtp=vw"/> </td> </tr> </table> </body> </apex:page>
Hi,
ok, you are almost there. You are binding to the fields on the Account which is the main Account record on this page. There needs to be some more controller code to get the fields for the record that we are hovering over.
in the accountDetail vf:
in the controller extension:
Many Thanks,
James.
All Answers
Hi,
what about using the <apex:detail> tag with the subject set as the id of the account that is being hovered?
This works great - and I like it. However, management does not. They just want some of the data displayed... is there a way to use this with a VF page, rather than the account detail? I tried to figure it out on my own, but could not.
The most favourable option would be to keep the vf as it is but creata an Account page layout with just the fields you want to display and assign this page layout to the Force.Com profile. This would keep the configuration of the fields displayed as declarative rather than code and make it more maintainable. You also have the flexibility of having different layouts for different recordtypes if you are using them.
The in-between option is to create a field set and write some more vf and apex code to display the fields in the field set. This would allow you to add/remove fields by changing the field set but is not as flexible as the page layouts.
The third and least preferable option is to hard code inputField components for each field.
Let me know if you need more info on any of these options.
Cheers.
You have been an amazing help. But I am still having issues.
The page layout will work perfectly for when I make this available via Sites. However, I cannot use it for those using SF. (At least I beleive that to be true, LOL)
I have created a fieldset, but I cannot get the ID to pass to is so that is shows the right information for the account that is hovered over. Code below.
Hi,
ok, you are almost there. You are binding to the fields on the Account which is the main Account record on this page. There needs to be some more controller code to get the fields for the record that we are hovering over.
in the accountDetail vf:
in the controller extension:
Many Thanks,
James.
Thank you, James. I have learned so much!
The entity "colon" was referenced, but not declared.