2012-01-23 2 views
1

У меня есть кнопка на странице VF для печати страницы VF. Эта страница - результат поиска, поэтому для печати я создаю очень похожую страницу, за исключением того, что она будет отображаться как pdf. Поэтому я хочу передать критерии поиска, введенные на текущей странице Vf, на страницу printVF.Как я могу вызвать страницу Vf с параметрами с одной кнопки на другой странице VF

Как передать переменные из одной страницы VF других

ответ

1

Вы можете просто сделать кнопку вызвать действие возвращает ссылку на страницу на новую страницу:

<!-- in page --> 
<apex:commandButton action="{!PrintPage}" value="Print"/> 

И тогда в вашем контроллере вы может создать ссылку на страницу и добавить любые параметры, необходимые для:

// in controller 
public Pagereference PrintPage() 
{ 
    Pagereference pr = Page.ThePrintPage; 
    pr.setRedirect(true); 
    pr.getParameters().put('searchFilter1', 'someValue'); 
    pr.getParameters().put('searchFilter2', 'someOtherValue'); 
    return pr; 
} 

Тогда в контроллере для другой страницы вы можете просто прочитать эти параметры и использовать тыс эм в запросе:

string strFilter1 = ApexPgaes.currentPage().getParameters().get('searchFilter1'); 

Если страница очень похожа, вы просто хотите, чтобы переключить параметр renderAs на странице тега, используя связанную переменную, и ваши действия просто переключаться, что - вы, вероятно, хотите также отключить видимость других частей страницы, но это спасет вас от повторного запроса и т. д. Конечно, если вам понадобятся две страницы, вы всегда можете упростить вещи, выполнив логику поиска в третьем классе, который содержит все общие код.

+0

Страницы очень похожи, за исключением того, что на вызывающей странице Vf есть 2 таблицы, и я хочу печатать по 1 таблице за раз. Как вы думаете, что будет лучшим способом – Prady

+1

Если кнопки печати за столом, вы все равно можете сделать это так легко, хотя я бы склонен идти с двумя страницами, чтобы сохранить чистоту на самих страницах. –

+0

Думая о том, что вы сказали, я должен позвонить той же странице с переданными параметрами и скрыть нежелательные элементы страницы и изменить атрибут рендеринга на pdf – Prady

Смежные вопросы