Liferay: Líder no Quadrante Mágico da Gartner pelo sexto ano consecutivo! Leia mais aqui

Fóruns

Início » Liferay Portal » English » 3. Development

Visualização combinada Visão plana Exibição em árvore
Tópicos [ Anterior | Próximo ]
toggle
Lukas Barina
Can I use search-container without a database ?
5 de Setembro de 2012 23:10
Resposta

Lukas Barina

Ranking: New Member

Mensagens: 8

Data de entrada: 7 de Junho de 2012

Mensagens recentes

Hello,
I am kind of new in the liferay world.
I have some list of values I want to render it in jsp page with pagination features for the begining.
I saw how the liferay-ui-:search-container works, I really liked it and would like to use it for rendering of my list.

Do anybody know how to use liferay-ui:search-container if I don't use a database at all, is it even possible?
I have just a list of strings, let's say people names and I would like to render them in the search container.
I understoood how to define the search-container-results values form that list but I am lost how to prepare my
own model class for list
that is required by the search-container-row section.
I understood that's it is normally representation of some table, but in my case I don't use databases at all.


Thanks for any idea

Lukas
Jignesh Vachhani
RE: Can I use search-container without a database ?
5 de Setembro de 2012 23:16
Resposta

Jignesh Vachhani

Ranking: Liferay Master

Mensagens: 783

Data de entrada: 10 de Março de 2008

Mensagens recentes

Hi Lukas,

As per my understanding , you can definitely use search container using your modal class and setting properties.
For more about search container creation, you can check this Blog
Lukas Barina
RE: Can I use search-container without a database ?
5 de Setembro de 2012 23:55
Resposta

Lukas Barina

Ranking: New Member

Mensagens: 8

Data de entrada: 7 de Junho de 2012

Mensagens recentes

Hi Jiqnesh,
thanks for your reply. I checked the blog so I found that this example the model class is
com.liferay.portlet.journal.model.JournalArticle
As I can see this class extends from JournalArticleModel which extends from BaseModel

So i my case where I have just a list of people names what would be the proper way to implement
such a model class?
I suppose the main necessary thing here is that my class People extends the liferay's BaseModel class
Still I'am not sure how my class People would look like, what class attributes I shoud define, what
constructor and methods it should contain. Do you think you can post some example of my class People,
it would help me to understand how it works.

Thanks Lukas
Amos Fong
RE: Can I use search-container without a database ?
6 de Setembro de 2012 00:46
Resposta

Amos Fong

LIFERAY STAFF

Ranking: Liferay Legend

Mensagens: 1886

Data de entrada: 7 de Outubro de 2008

Mensagens recentes

Hi Lukas,

You should be able to use it using standard java classes. Something like this should be fine (I didn't test this exact code).

 1<liferay-ui:search-container>
 2        <liferay-ui:search-container-results
 3            results="<%= stringList %>"
 4            total="<%= stringList.size() %>"
 5        />
 6
 7        <liferay-ui:search-container-row
 8            className="java.lang.String"
 9            modelVar="listMember"
10        >
Harish Kumar
RE: Can I use search-container without a database ?
6 de Setembro de 2012 00:57
Resposta

Harish Kumar

Ranking: Expert

Mensagens: 449

Data de entrada: 31 de Julho de 2010

Mensagens recentes

Hi Lukas

Yes you can use search container without a database. Here is the sample code to iterate over arraylist of String using search container

 1
 2<%
 3   List<String> testList = new ArrayList<String>();
 4   for(int i=0;i<=50;i++)
 5   {
 6       testList.add("String " + i);
 7   }
 8%>
 9       <liferay-ui:search-container delta="10" emptyResultsMessage="No Items were found!!">
10        <liferay-ui:search-container-results results="<%=ListUtil.subList(testList, searchContainer.getStart(), searchContainer.getEnd())%>" total="${testList.size()}" />
11        <liferay-ui:search-container-row className="String" modelVar="data">
12            <liferay-ui:search-container-column-text name="name" value="<%=data %>" />
13        </liferay-ui:search-container-row>
14    </liferay-ui:search-container>



Regards,
Lukas Barina
RE: Can I use search-container without a database ?
6 de Setembro de 2012 01:50
Resposta

Lukas Barina

Ranking: New Member

Mensagens: 8

Data de entrada: 7 de Junho de 2012

Mensagens recentes

Amos&Harish, that's great , thanks guys for the help !
Jay Trivedi
RE: Can I use search-container without a database ?
19 de Dezembro de 2012 03:31
Resposta

Jay Trivedi

Ranking: Regular Member

Mensagens: 107

Data de entrada: 23 de Novembro de 2012

Mensagens recentes

Hey Harish,
I have a simlilar form of question with different edge.
Lets say we can display a ArrayList<String> of UserName. But if i have an long array of ids and also i want to display that id. is that possible to display more than one list in searchContainer or that goes under limitation.

Here a sample code may help you to understand my problem in deep.

 1
 2<liferay-ui:search-container delta="10" emptyResultsMessage="Data-Not-Found">
 3        <liferay-ui:search-container-results
 4            results="<%=ListUtil.subList(usersNameList, searchContainer.getStart(), searchContainer.getEnd()) %>"
 5            total="<%=usersNameList.size() %>"
 6            <%int index = 0; %>
 7        />
 8            <liferay-ui:search-container-row
 9                className="java.lang.String"
10                modelVar="userToDisplay"
11            >
12                <liferay-ui:search-container-column-text
13                    name="UserName"
14                    value="<%=userToDisplay %>"
15                />
16               
17                <%-- <% for(int i=0;i<userId1.length;i++) { %> --%>
18                <liferay-ui:search-container-column-text>
19                    <input type="checkbox" name="userCheck" id="userCheck" value="<%[color=#8d0404]String.valueOf(userId1[index=index+1])[/color];%>"/>
20                </liferay-ui:search-container-column-text>
21                <%-- //<%} %> --%>
22            </liferay-ui:search-container-row>
23            <liferay-ui:search-iterator/>
24    </liferay-ui:search-container>


As you can see i am setting userid as value of checkbox, i want to add that userid as another list, so one more list in searchcontainerrow is that possible?
Any Suggestions or Alternatives?


Thanks and Regards,
Jay.
Mrinal kumar
RE: Can I use search-container without a database ?
31 de Janeiro de 2013 19:51
Resposta

Mrinal kumar

Ranking: New Member

Mensagens: 15

Data de entrada: 30 de Janeiro de 2013

Mensagens recentes

Hi...

I have tried this example..

but there is not data grid displayed... its empty.. : Its portlet code

code:
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ page import="java.util.*"%>
<%@page import="com.liferay.portal.kernel.util.ListUtil"%>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>

<portlet:defineObjects />

This is the <b>Dash Boardsss</b> portlet in View mode.




<%

List<String> testList = new ArrayList<String>();

for(int i=0;i<=50;i++)

{

testList.add("String " + i);

}

%>

<liferay-ui:search-container delta="10" emptyResultsMessage="No Items were found!!">

<liferay-ui:search-container-results results="<%=ListUtil.subList(testList, searchContainer.getStart(), searchContainer.getEnd())%>" total="${testList.size()}" />

<liferay-ui:search-container-row className="java.lang.String" modelVar="data">
<liferay-ui:search-container-column-text name="name" value="<%=data %>" />

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

</liferay-ui:search-container>

This is the <b>END</b> portlet in View mode

Whats could be the issue?
Chirag Patadia
RE: Can I use search-container without a database ?
31 de Janeiro de 2013 22:44
Resposta

Chirag Patadia

Ranking: Junior Member

Mensagens: 29

Data de entrada: 2 de Fevereiro de 2012

Mensagens recentes

Hi Jay,

You can achieve your requirement with below alternative.
You can keep your one Arraylist<String> which contains UserName as it is and for Ids why dont you create HashMap object with UserName string as key and Ids as value in HashMap.

By creating HashMap, you only need to fetch values from the Map in search container code where you are adding code for CheckBox.

Best Regards,
Chirag Patadia.
Jay Trivedi
RE: Can I use search-container without a database ?
1 de Fevereiro de 2013 22:46
Resposta

Jay Trivedi

Ranking: Regular Member

Mensagens: 107

Data de entrada: 23 de Novembro de 2012

Mensagens recentes

Thanks Mrinal. emoticon