2014-11-06 2 views
0

Может ли кто-нибудь помочь мне создать поиск по страницам xpages? Я хочу текстовое поле и кнопку, которая обрабатывает полный текстовый поиск в базе данных и возвращает Dataview с результатами. Возможно ли это?Страница поиска и результатов поиска XPages

Я не знаю, как это начать.

+1

Наверняка вы можете найти отправную точку где-то. Пожалуйста, поделитесь тем, что вы пробовали. – mihai

+0

Я начал создавать что-то вроде этого: http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPagesViewControlAddFullTextSearch.htm Но элемент управления представлением странный, с CSS или ссылками на документы. Должен ли я строить это вручную? –

+0

Возможно, вы можете сделать это, используя XControls: http://openntf.org/main.nsf/project.xsp?r=project/XControls –

ответ

1

Я думаю, что ваш подход с dataview совпадает с повторением или просто нормальным представлением.

У вас есть текстовое поле. В данных для текстового поля перейдите к расширенному и используйте переменную с областью. Попробуйте просмотреть область действия, которая должна работать. и дать переменной имя (exampleValue)

<xp:inputText id="inputText6" value="#{viewScope.exampleValue}"></xp:inputText> 

теперь у вас есть некоторые данные, которые можно ссылаться с viewScope.exampleValue

В параметре поиска вычислить это значение и поместить в viewScope.exampleValue

<xe:this.data> 
     <xp:dominoView var="view1" viewName="Your view name" search="#{javascript:viewScope.exampleValue}"> 

Тогда есть кнопка, которая делает частичное обновление на DataView

<xp:button value="Refresh Search" id="button1" > 
         <xp:eventHandler event="onclick" submit="true" 
     refreshMode="partial" refreshId="ID_of_area_to_refresh"> 
    </xp:eventHandler></xp:button> 

Посмотрите также на этот вопрос. Я не могу выдвинуть этот ответ достаточно. Xpages search between 2 dates

Вы также захотите убедиться, что вы инициировали финдекс, убедитесь, что вы это сделали. Вы также хотите убедиться, что FTindex обновлен, поэтому помещайте этот код в какое-то событие где-то.

database.updateFTIndex(true); 

Вот код, который вы можете использовать для очистки поля.

<xp:button value="Label" id="button2"><xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="inputText1"> 
<xp:this.action> 
    <xp:modifyField name="httppwd" var="viewscope" value=""></xp:modifyField> 
</xp:this.action></xp:eventHandler></xp:button> 
+0

Привет, Патрик, спасибо за вашу помощь! На кнопке, где вы говорите «ID_of_area_to_refresh», должен ли я поместить идентификатор DataView или DominoView? Извините, но я действительно noobie на Xpages развития. –

+0

Patrick, можете ли вы помочь мне создать «ясную» кнопку для результатов поиска? Я попытался создать кнопку с кодом , но он не работает. –

+0

Без проблем Ренан. Я бы не узнал, что знаю, если бы не другие. То, что я подразумеваю под ID_of_area_to_refresh, - это то, что вы можете обновить вещи по идентификатору. Этот идентификатор может быть одним элементом управления, например полем, или может быть контейнером, подобным панели.Так что скажем, что вы хотели обновить 10 полей одновременно, вы можете поместить их все в контейнер и обновить этот контейнер, но в этом случае, если вы просто хотите обновить одно поле, перейдите на вкладку событий кнопки, введите код а затем выберите частичное обновление вместо того, чтобы обновлять всю страницу, просто обновите этот ID. –

0

Вы используете элемент управления View или Data View? Только просмотр данных работает с мобильными элементами управления.

+0

Я использовал контроль над просмотром только для тестов. Я перешел на Dataview, и у меня был некоторый прогресс. Спасибо –

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