私は2つの日付フィールドと検索ボタンを持つVFページを持っています。VFページをポップアップとして開き、そのVFページにパラメータを渡す方法は?
検索の結果、いくつかの結果が得られます。私はまた、pdfとしてレンダリングされた新しいVFページだけであるそれらの結果を印刷する別のボタンを持っています。
この日付の値をprintVFページに渡したいとします。私はまた、このページをポップアップとして表示したい。
私はパラメータを設定したpagerefを持っています。このページをポップアップとして開く必要があるので、window.openでpagerefを使用する方法を見つける必要があります。
誰でもこれを達成するためのアイデアはありますか?
おかげ
Prady
EDIT:私がやったことは、コントローラにURLを構築し、window.openのコントローラ変数を使用しました。非常に奇妙なことが起きています...最初に検索結果が表示され、印刷ボタンをクリックすると、日付は文字列に表示されません。今日の日付はデフォルトになります。印刷ボタンを再度クリックすると、日付が正しく入力されますdateinputからのURLに
public Class1(){
System.debug('inside constructor');
fieldContainer=new DummyTable__c(); // it contains date fields for date inputs
date todays=date.today();
If (fieldContainer.Start_Date__c== null)
{
startdate1=todays;
}else
{
startdate1=fieldContainer.Start_Date__c;
}
If (fieldContainer.End_Date__c== null)
{
enddate1=todays;
}
else
{
enddate1=fieldContainer.End_Date__c;
}
}
public void search()
{
startdate1=fieldContainer.Start_Date__c;
system.debug('startdate1'+startdate1);
enddate1=fieldContainer.End_Date__c;
system.debug('enddate1'+enddate1);
system.debug('inside search()....after clicking search button');
system.debug('startdate1'+startdate1);
system.debug('url'+url);
LoadData();
}
public string geturl()
{
url='apex/VF1?Pstartdate='+string.valueof(startdate1)+'&Penddate='+string.valueof(enddate1);
return url;
}
public string geturlRec()
{
urlRec='apex/VF2?Pstartdate='+string.valueof(startdate1)+'&Penddate='+string.valueof(enddate1);
return urlRec;
}
VFページ
<script language="javascript" type="text/javascript">
function printOut()
{
window.open("{!url}");
}
function printIn()
{
window.showModalDialog("{!urlRec}","dialogWidth:800px; dialogHeight:200px; center:yes");
}
</script>
<div style="width:900px;margin:0 auto;" id="pagediv">
<span style="padding-left:30px;padding-right:10px">From </span><apex:inputfield value="{!fieldContainer.Start_Date__c}" id="startdt" style="padding-left:5px;padding-right:20px;"/>
<span style="padding-left:30px;padding-right:10px">To </span><apex:inputfield value="{!fieldContainer.End_Date__c}" id="enddt" style="padding-left:5px;padding-right:20px;"/>
<span style="padding-left:30px;padding-right:10px"><apex:commandButton action="{!search}" value="Search" ReRender="dtshipdep,dtshiprec,shippageblock"> </apex:commandButton></span>
<apex:commandButton action="{!saveDeparted}" value="Update " ReRender="dtshipdep"></apex:commandButton>
<apex:commandButton value="Print " onclick="printOut();"></apex:commandButton>
mmmixの場合、ユーザーが検索ボタンをクリックすると、フォームフィールドがサーバーに送信されます。私は検索結果のみを印刷しようとしています。したがって、フォームフィールドの値は、検索が完了したときに正しく設定されています。しかし、問題は印刷ボタンで初めてのようです。 – Prady
プリントアウトボタンにJSハンドラがあり、前のサーバコールで生成されたURLが呼び出されます。その後、ページがサーブを呼び出し、リフレッシュ(URLを含む)して2回目のクリックが機能します。あなたはイベントのシーケンスで明確にする必要があります – mmix
感謝mmix ...それは働いた:) – Prady