liferay-ui视图选择一行

时间:2013-04-23 07:36:02

标签: liferay liferay-6 alloy-ui

我正在开发一个portlet来显示规则列表,供选择。 我想集中在我的数据库中选择的内容行(init.jsp上加载的规则变量)。

我应该做些什么来聚焦/突出显示一行?

我应该对所有<c:when使用<c:otherwhise .jsp

我使用以下代码显示规则列表:

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>

<portlet:defineObjects />

<liferay-ui:search-container emptyResultsMessage="there-are-no-products" delta="5">
    <liferay-ui:search-container-results>
        <% 
        List<IRRule> tempResults = ActionUtil.getRules(renderRequest);
        results = ListUtil.subList(tempResults, searchContainer.getStart(),
        searchContainer.getEnd());

        total = tempResults.size();
        pageContext.setAttribute("results", results);
        pageContext.setAttribute("total", total);
        %>
    </liferay-ui:search-container-results>

    <liferay-ui:search-container-row
        className="com.everis.oriol.inputrules.model.IRRule"
        keyProperty="ruleId"
        modelVar="rule">

        <liferay-ui:search-container-column-text
            name="ruleName"
            property="ruleName"
            />  

        <liferay-ui:search-container-column-text
            name="ruleDescription"
            property="ruleDescription"
            />

        <liferay-ui:search-container-column-jsp
            path="/row.jsp"
            align="right"
            />

    </liferay-ui:search-container-row>

    <liferay-ui:search-iterator />

</liferay-ui:search-container>

init.jsp文件中我有......

<% 
long groupId = themeDisplay.getScopeGroupId();
List<IRSelect> rulesPas = IRSelectLocalServiceUtil.getRule(groupId);

String rules =  rulesPas.get(0).getRuleName();
%>

我想要比较......

<liferay-ui:search-container-column-text
    name="ruleName"
    property="ruleName"
    />

...与

rules

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我能想到的一种方法是设置bold标记的<liferay-ui:search-container-row>属性 如果元素的值为true,则会将元素显示为粗体

<liferay-ui:search-container-row
        className="com.everis.oriol.inputrules.model.IRRule"
        keyProperty="ruleId"
        modelVar="rule"
        bold="<%=rules.equals(rule.getRuleName()) %>">

...

</liferay-ui:search-container-row>

如果您想要更多选项来设置行的样式,可以为整行设置CSS类:

<liferay-ui:search-container-row
    className="com.everis.oriol.inputrules.model.IRRule"
    keyProperty="ruleId"
    modelVar="rule">

    <%
    if (rules.equals(rule.getRuleName())) {
        // here "row" is the ResultRow object, instance for each row
        row.setClassName("my-custom-css-class");
    }
    %>

    <liferay-ui:search-container-column-text
        name="ruleName"
        property="ruleName"
        />

     ...

</liferay-ui:search-container-row>

如果您希望只有那一行中的规则列文本应该以不同的方式显示,而不是整行:

<liferay-ui:search-container-column-text
        name="ruleName"
        property="ruleName"
        cssClass="<%=rules.equals(rule.getRuleName()) ? \"my-custom-css-class\" : \"\" %>"
        />