У меня есть поле со списком, кнопка и вид функции поиска. Представление имеет два столбца, которые относятся к категории и курсу. В колонке «Курс» я установил многозначный разделитель «Новая строка», включил «Несколько значений как отдельные записи», а оба столбца заголовка - столбец сортировки. Таким образом, при использовании Internet Explorer, чтобы увидеть приложение, вид выглядит следующим образом:Показать значения в каждой строке при поиске
Category | Course
-------------------------------------------------------
Accounting | Advanced Accounting
Accounting | Introduction to Accounting
Accounting | Communication Skills
Accounting | Writing Skills
Engineering | Advanced Engineering
Engineering | Introduction to Engineering
Engineering | Communication Skills
Engineering | Writing Skills
Information Technology | Advanced Information Technology
Information Technology | Introduction to Information Technology
Information Technology | Communication Skills
Information Technology | Writing Skills
(Update)
Спасибо Ответ stwissel-х, я извлекаю кнопку, так что есть поле со списком и вид который классифицируется. Хотя я не нашел «LimitToCategory» в свойствах представления (благодарен, если кто-то дал мне знать, где его найти), я получаю значение из поля со списком и помещаю его в «Фильтровать по названию категории», также в поле со списком есть onchange событие и частичное обновление представления.
Я запускаю программу, когда я выбираю категорию, представление может отображать соответствующие значения, относящиеся к категории. Представьте себе, что вид выглядит следующим образом:
Category | Course
-------------------------------------------------------
Information Technology | Advanced Information Technology
Introduction to Information Technology
Communication Skills
Writing Skills
Однако как отобразить курс индивидуально? Что я могу сделать, чтобы в курсе отображалась отдельная строка? (См пример ниже)
Category | Course
----------------------------------------------------------
Information Technology | Advanced Information Technology
----------------------------------------------------------
Information Technology | Introduction to Information Technology
----------------------------------------------------------
Information Technology | Communication Skills
----------------------------------------------------------
Information Technology | Writing Skills
----------------------------------------------------------
добавить еще CustomerConverter с этого поста xpages view panel column multivalue separator, но результат все тот же.
Category | Course
----------------------------------------------------------
Information Technology | Advanced Information Technology
----------------------------------------------------------
Information Technology | Introduction to Information Technology
----------------------------------------------------------
Information Technology | Communication Skills
----------------------------------------------------------
Information Technology | Writing Skills
----------------------------------------------------------
Прилагаю полный код для вашего отзыва, пожалуйста.
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" dojoTheme="true">
<xp:this.resources>
<xp:dojoModule name="dijit.form.ComboBox"></xp:dojoModule>
</xp:this.resources>
<xp:comboBox id="comboBox2" dojoType="dijit.form.ComboBox"
style="width:400.0px" value="#{sessionScope.category}">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:
var SetFirstValueBlank = @Text("");
return SetFirstValueBlank;
}]]></xp:this.value>
</xp:selectItems>
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:@Unique(@DbColumn(@DbName(), "CategoryListView", 1));}]]></xp:this.value>
</xp:selectItems>
<xp:eventHandler event="onchange" submit="true"
refreshMode="partial" refreshId="viewPanel5">
</xp:eventHandler>
</xp:comboBox>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:viewPanel rows="30" id="viewPanel5">
<xp:this.facets>
<xp:pager partialRefresh="true" layout="Previous Group Next"
xp:key="headerPager" id="pager5">
</xp:pager>
</xp:this.facets>
<xp:this.data>
<xp:dominoView var="view2"
viewName="CategoryCourseView2">
<xp:this.categoryFilter><![CDATA[#{javascript:getComponent("comboBox2").getValue();}]]></xp:this.categoryFilter>
</xp:dominoView>
</xp:this.data>
<xp:viewColumn columnName="Category" id="viewColumn9"
rendered="false">
<xp:this.converter>
<xp:customConverter
getAsObject="#{javascript:return value;}">
<xp:this.getAsString>
<![CDATA[#{javascript:return @Implode(value, "<br />")}]]>
</xp:this.getAsString>
</xp:customConverter>
</xp:this.converter>
<xp:viewColumnHeader value="Category"
id="viewColumnHeader9">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn id="viewColumn11" columnName="$10"
contentType="HTML">
<xp:this.facets>
<xp:viewColumnHeader xp:key="header"
id="viewColumnHeader11" value="Category">
</xp:viewColumnHeader>
</xp:this.facets>
</xp:viewColumn>
<xp:viewColumn columnName="CourseName" id="viewColumn10"
contentType="HTML">
<xp:this.converter>
<xp:customConverter
getAsObject="#{javascript:return value;}">
<xp:this.getAsString>
<![CDATA[#{javascript:return @Implode(value, "<br />")}]]>
</xp:this.getAsString>
</xp:customConverter>
</xp:this.converter>
<xp:viewColumnHeader value="Course"
id="viewColumnHeader10">
</xp:viewColumnHeader>
</xp:viewColumn>
</xp:viewPanel>
</xp:view>
Благодарный за ваш совет, пожалуйста. Спасибо.
Здравствуйте, @stwissel, спасибо за ваш ответ и [статью] (http://www.notessensei.com/blog/2009/07/showing-categorized-views-in-web-applications.html). В этой статье, хотя в моем случае нет общего числа, я замечаю, что «Сводный вид по 3 категориям с строками данных» наиболее похож. Я не понимаю, как отображать отдельные строки данных. В свойствах представления я не могу найти этого. Я обновил код, может быть, я ошибаюсь в своем коде? Не могли бы вы взглянуть и поблагодарить за ваш совет, пожалуйста. Большое спасибо. – beginner