Re: Visual JSF
| 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