Re: Visual JSF

"[email protected]" <[email protected]> Thu, 06 Mar 2008 15:32:32 +0300
Newsgroups gmane.comp.java.netbeans.general.russian
Message-ID <[email protected]>
Нашел решение, все оказалось очень просто. :)

Нужно сначала сформировать полную объектную модель того, что ты хочешь
показать пользователю. Причем сделать это нужно до того, как все начнет
уже прорисовываться ( в prerender() ), т.е. все таблицы уже должны
получить готовые данные.

на jsf странице, это будет выглядеть как-то так:

<jsf:table value="#{bean.mainTableData}" var="row">

<jsf:column>

.... #{row.name}

</jsf:column>

<jsf:column>

<jsf:table value="#{row.innerTableData}" var="innerRow">

.......

</jsf:column>

</jsf:table>

А менеджед бин к примеру такой:

public class GroupPhoneObjectModel {

/** Creates a new instance of GroupPhoneObjectModel */

public GroupPhoneObjectModel() {

}

private Integer id;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public ArrayList<GroupPhoneObjectModel.UA> getUas() {

return uas;

}

private String name;

private ArrayList<UA> uas;

public class UA {

String ua;

public String getUa() {

return ua;

}

public void setUa(String ua) {

this.ua = ua;

}

}

public void initUAs(ArrayList<String> userAgents) {

if(null == uas) {

uas = new ArrayList<GroupPhoneObjectModel.UA>();

} else {

uas.clear();

}

for (int i = 0; i < userAgents.size(); i++) {

String ua = userAgents.get(i);

UA uaObject = new UA();

uaObject.setUa(ua);

uas.add(uaObject);

}

}

[email protected] пишет:

Второй вариант есть истина. :)

Заранее благодарен.

Roman Mostyka пишет:

Не совсем понял вопрос. Нужно для каждой строки маленькой таблицы
(независимо от того в какой строке большой таблицы находится маленькая)
выводить результат запроса с параметром из столбца большой или все-таки
в маленькой таблице нужно выводить результат запроса именнь для той
строки большой таблицы, в которой находится маленькая?

Спасибо,

Роман.

[email protected] wrote:

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

значение из большой таблицы получить могу:

while(cem_group_phoneDataProvider1.cursorNext()){

Object idOfGroup = cem_group_phoneDataProvider1.getValue("id");

}

выставить параметер для маленькой могу:

Object idOfGroup =
cem_group_phoneDataProvider1.getValue("id");

info(((Integer)idOfGroup).toString());

cem_group_phone_ua.setObject(1, idOfGroup);

А вот так что бы для каждой строки свой параметер.....

Как это можно сделать?

Roman Mostyka пишет:

Доброго времени суток!

Это по идее можно сделать в методе prerender(). Создаете для маленькой
таблицы query с параметром, который вытаскиваете в методе prerender из
dataprovider-а для большой таблички, и подставляете его в этом же
методе в этот самой query для маленькой таблички.

Советаю прочитать следующее учебное пособие: также http://www.netbeans.org/kb/60/web/inserts-updates-deletes.html

Сапсибо,

Роман.

Alexandr Scherbatiy wrote:

Можете помочь парню?

----------

Subject:

[nbdiscuss-ru] Visual JSF

From:

"[email protected]" <[email protected]>

Date:

Thu, 21 Feb 2008 14:48:15 +0300

To:

[email protected]

To:

[email protected]

Всем доброго времени.

Подскажите как можно сделать вот такую штуку. Есть табличка связанная с
БД. Один из столбцов таблицы содержит другую таблицу в которой
параметер запроса к БД это первое поле первой, большой таблицы.

Вот это самое связывание id из большой таблицы с параметром запроса в
маленькой не могу сделать....((((
(unnamed) (image/png, 15.1 KB) - not displayed