|
|
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
Товарищи специалисты, стоит задача о формировании сложной таблицы в JSF. Примерный вид таблицы показан в аттачменте. Сложность заключается в том, что каждая ячейка - значение из бд (таблицы item1 по значению item2) + оно должно быть кликабельным -- при клике на него должен вызываться попап с определенным контентом. Кто поможет разобраться? Готового решения не жду, но может быть у кого есть какие мысли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 12:12:44 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
Спасибо за варианты, буду пробовать. Сейчас остановился на простом создании динамической таблицы: Страница жсф: Код: java 1. Кусок класса контроллера: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. На выходе имею то, что в аттачменте. Я так понимаю, дело в строке Код: java 1. Подскажите, что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 14:18:26 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
sjinksПодскажите, что не так? дизайн ужасный. Размер картинок твоих больше 1000 пикселей с молоком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 14:29:52 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
Сорри, вот так поменьше будет. При чем здесь дизайн сейчас? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 15:49:10 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
Во-первых, почему Код: html 1. #{summaryReportController.sumReports} возвращает List<SumPeport>, то есть по идее это уже неправильно, я думаю нужно так Код: html 1. Далее, то же самое с dynamicItem, каждый dynamicItem это объект SumReport, то есть запись #{dynamicItem[i]} как бы теряет смысл. допустим вам надо вывести expAmount у вашего SumReport, тогда правильный valueExpression это Код: html 1. И третье, почему вы биндите panelGroup а не саму datatable? Ведь вы можете значительно сократить java код, сделав примерно так: Код: html 1. private List<SumReport> sumReports; private String[] summaryTableHeaders; private HtmlDataTable dynamicDataTable; private boolean loaded; private void populateDynamicDataTable(){ for(int i=0; i<sumReports.size();i++){ HtmlColumn column = new HtmlColumn(); dynamicDataTable.getChildren().add(column); HtmlOutputText header = new HtmlOutputText(); header.setValue(summaryTableHeaders[i]); column.setHeader(header); HtmlOutputText output = new HtmlOutputText(); output.setValueExpression("value", FacesContext.getCurrentInstance().getApplication().getExpressionFactory().createValueExpression("#{dynamicItem.expAmount}", Float.class)); column.getChildren().add(output); } } public HtmlPanelGroup getDynamicDataTable(){ if(loaded){ loadDynamicList(); populateDynamicDataTable(); } return dynamicDataTable; } public void setDynamicDataTable(HtmlPanelGroup dynamicDataTable) { this.dynamicDataTable = dynamicDataTable; } public List<SumReport> getSumReports() { return sumReports; } //----------------------Convinience methods for reload dataTable public boolean isLoaded(){ return loaded; } //setLoaded ........ //Call this like actionListener=#{summaryReportController.needReload} when you need reload datatble public void needReload(){ setLoaded(false); } [SRC java][/SRC] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 16:24:17 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
Блин, java код выскочил из своей секции ) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 16:26:25 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
А и еще не досмотрел сигнатуры методов public HtmlPanelGroup getDynamicDataTable() и setDynamicDataTable() нужно поменять панелГруп на дататейбл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 16:27:44 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
Спасибо, попробовал Ваш вариант. Касательно его ошибок пока нет, но жсф выдает другую (более странную): авторProperty 'dynamicDataTableGroup' not found on type com.mycompany.SummaryReportController хотя такой проперти и в помине нет в бине (все закоменчено) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 17:00:36 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
А нет тут ничего странного, jsf не находит #{summaryReportController. dynamicDataTableGroup }, внимательно посмотрите ваш код на наличие этого выражения, и если есть - уберите, и внимательно посмотрите то что я советовал, по сути я изменил <h:panelGroup binding="#{summaryReportController.dynamicDataTableGroup}"/> на <h:datatable binding="#{summaryReportController. dynamicDataTable }" var="dynamicItem" value="#{summaryReportController.sumReports}"/> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 17:11:07 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
авторхотя такой проперти и в помине нет в бине (все закоменчено) Я имею ввиду где-то на странице есть #{summaryReportController.dynamicDataTableGroup} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 17:12:04 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
Он, в принципе, был закоменчен и на странице, но убрал и ошибка пропала, но это не важно, потому что теперь вообще ничего не выводиться кроме статических эл-в, в моем варианте хотя бы хедеры были:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 17:21:32 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
Просто фейслеты обрабатывают комментарии в том числе, чтобы фейслеты не обрабатывали часть страницы, надо не комментить, а обрамлять в ui:remove. Далее, что дебаг показывает? И попробуйте все же свой вариант с panelGroup, только createValueExpression поправьте, как я советовал - что тогда произойдет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 17:30:48 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
авторCannot convert #{summaryReportController.sumReports} of type class java.lang.String to interface java.util.List Вот что получается, в моем модифицированном Вами варианте, поэтому я и лепил стринг вместо листа... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 17:39:19 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
Кстати я тут подумал, а зачем вам вообще эта возня с биндингами. Что такого сложного в вашей модели? если не сложно, можете набросать эскиз того что вам нужно вывести в таблице(и укажите тип каждого обьекта)? Например так - хеадер1(#{sumReport[1].text}) | хеадер2(#{sumReport[2].text}) | хеадер3(#{sumReport[3].text}) значение1(#{sumReport[1].value}) | значение2(#{sumReport[2].value}) | значение3(#{sumReport[3].value}) Я просто не совсем понимаю что вам нужно вывести, и есть ощущение, что все довольно просто решается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 17:55:09 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
забыл ник , загляните, пожалуйста, к себе на почту :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 18:01:10 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
...что указана у Вас в профайле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2012, 18:01:23 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
забыл ник , ну раз в личном порядке не получается -- задача стоит такая: авторСводный отчет представляется таблицей, где имеющиеся в справочниках статьи расходов размещены в колонках, а филиалы – в строках. Кроме этого, таблица имеет итоговую колонку и итоговую строку. При щелчке мыши на каком-либо значении в поле таблицы кроме итоговых, должно появляться модальное окошко с расшифровкой выбранного значения по массиву первичных данных, такой структуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.02.2012, 12:17:49 |
|
||
|
JSF сложная таблица
|
|||
|---|---|---|---|
|
#18+
sjinks, Имхо вам нужно немного реорганизовать модель, если я вас правильно понял, то вы можете сделать по примеру: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Если есть какие-то вопросы - спрашивайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.02.2012, 16:44:00 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37682802&tid=2132442]: |
0ms |
get settings: |
12ms |
get forum list: |
27ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
60ms |
get topic data: |
22ms |
get forum data: |
5ms |
get page messages: |
111ms |
get tp. blocked users: |
3ms |
| others: | 390ms |
| total: | 644ms |

| 0 / 0 |
