0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 284
|
|
1 | |
Объединить данные view25.03.2015, 09:30. Показов 12410. Ответов 40
Метки нет (Все метки)
Как можно в репите или во вьюшке в xPages получить из такой вью
[xtable=145x65] {tbody} {tr} {td}Вата{/td} {td} 10{/td} {/tr} {tr} {td} Вата{/td} {td} 20{/td} {/tr} {tr} {td} Нож{/td} {td} 10{/td} {/tr} {tr} {td} Вата{/td} {td} 10{/td} {/tr} {tr} {td} Нож{/td} {td} 20{/td} {/tr} {/tbody} [/xtable] Такую таблицу [xtable=177x44] {tbody} {tr} {td}Вата{/td} {td} 40{/td} {/tr} {tr} {td} Нож{/td} {td} 30{/td} {/tr} {/tbody} [/xtable] Вообще не могу догнать как объединять данные во view :nailbiting:
0
|
25.03.2015, 09:30 | |
Ответы с готовыми решениями:
40
пропадают данные из View Не отображаються данные в View Проблемы с отображением во View полей из другого View Documents In A View Maximum Of 130mb For A View Index |
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 633
|
|
25.03.2015, 10:58 | 2 |
Сообщение от JohnLemon
А вообще, посмотри как делаются "категории" в репитере из произвольных данных. В инете полно таких поделок. Категории покажешь, а внутренности категории скроешь.
0
|
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 284
|
|
25.03.2015, 13:41 | 3 |
Сообщение от alexas1
Результат Я так понимаю где то галочку нужно поставить что бы не отображались ) ?
0
|
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 633
|
|
25.03.2015, 15:08 | 4 |
Можешь скрыть не нужное по условию viewEntry.isCategory ()
0
|
0 / 0 / 0
Регистрация: 12.11.2009
Сообщений: 882
|
|
25.03.2015, 16:04 | 5 |
Сообщение от alexas1
Вот мы же обсуждали - именно этот момент. Смотреть немного дальше и глубже слоя xPage. Ну нет у домино ф-ций агрегирования данных окромя как всякие тотал. И то есть нюансы с ридерс полями. Самый быстрый способ - это пробежка по навигатору через getNextCategory и получение через entry.getColumnValues().elementAt(1).toString() значения total колонки. На 30 тыс категорий уходит около 1 сек и время линейна от кол-ва категорий.
0
|
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 633
|
|
25.03.2015, 20:56 | 6 |
Сообщение от rinsk
0
|
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 284
|
|
26.03.2015, 05:23 | 7 |
Сообщение от rinsk
Сообщение от alexas1
Сообщение от alexas1
0
|
0 / 0 / 0
Регистрация: 12.11.2009
Сообщений: 882
|
|
26.03.2015, 05:25 | 8 |
Да не - я про 30 тыс доков в одной категории...
0
|
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 284
|
|
26.03.2015, 06:49 | 9 |
Сообщение от rinsk
0
|
0 / 0 / 0
Регистрация: 12.11.2009
Сообщений: 882
|
|
26.03.2015, 08:06 | 10 |
Обход категорий
var v:NotesView = database.getView("By category"); var nav:NotesViewNavigator = v.createViewNav(); var entry:NotesViewEntry = nav.getFirst(); while (entry != null) { //category=entry.getColumnValues().elementAt(0).toString(); //count=entry.getColumnValues().elementAt(1).toString(); var tmpentry:NotesViewEntry = nav.getNextCategory(); entry.recycle(); entry = tmpentry; } И по по вкусу или во viewScoup или java.util.HashMap как значение репитера. А я бы по старинке, как говорят на CSJS - через $.get /db.nsf/view?ReadViewEntries&OutputFormt=JSON&CollapseView И нарисовал бы табличку
0
|
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 284
|
|
26.03.2015, 10:34 | 11 |
пасиб буду пробовать а что значит elementAt(0) ???
0
|
0 / 0 / 0
Регистрация: 12.11.2009
Сообщений: 882
|
|
26.03.2015, 10:40 | 12 |
Сообщение от JohnLemon
0
|
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 284
|
|
26.03.2015, 12:03 | 13 |
Немного не догоняю зачем делать entry.recycle(). И в твоем коде первый элемент почему то не могу получить а последний null вообще с ошибкой валится (
0
|
0 / 0 / 0
Регистрация: 12.11.2009
Сообщений: 882
|
|
26.03.2015, 12:47 | 14 |
entry.recycle() - ну мы же практически в яве - надо аккуратнее быть с памятью)
Варианты работы с навигатором + ну и гугл в помощь... http://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesViewNavigator_sample_JavaScript_code_for_XPages
0
|
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 284
|
|
26.03.2015, 13:39 | 15 |
В роде разобрался, только не пойму почему в коде:
Код (Javascript): var v:NotesView = database.getView("repotResearchWriteOff"); var nav:NotesViewNavigator = v.createViewNav(); var entry:NotesViewEntry = nav.getFirst(); while (entry != null) { requestScope.status += entry.getColumnValues().elementAt(0).toString(); var tmpentry:NotesViewEntry = nav.getNextCategory(); entry.recycle(); entry = tmpentry; } _dump(requestScope.status); Получаю первое значение null
0
|
0 / 0 / 0
Регистрация: 12.11.2009
Сообщений: 882
|
|
26.03.2015, 14:20 | 16 |
надо проверить первый элемент - какого он типа - isTotal и т.п. и если не isCategory - nav.getNextCategory() .
И для информации: http://www.mindoo.com/web/blog... KLEB9S.htm Следовательно - NotesView.AutoUpdate(false) NotesViewNavigator.setBufferMaxEntries(400) ...
0
|
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 284
|
|
30.03.2015, 06:33 | 17 |
А может кто подсказать почему фт поиск не работает ?
Код (Javascript): var value = {}; value.json = []; var v:NotesView = database.getView("repotResearchWriteOff"); //******* if (!database.isFTIndexed()) database.createFTIndex(0, false); v.FTSearch("FIELD nameNomenclature = \"Вата\"") //***** var nav:NotesViewNavigator = v.createViewNav(); var entry:NotesViewEntry = nav.getFirst(); var d = 0; while (entry != null) { if (entry.getColumnValues().elementAt(0).toString() != ) { d = d+1; value.json.push({funding:entry.getColumnValues().elementAt(0).toString(), nomenclature:[], value:[], total:entry.getColumnValues().elementAt(2)}); } if (entry.getColumnValues().elementAt(1).toString() != ) { value.json[d-1].nomenclature.push(entry.getColumnValues().elementAt(1).toString()); value.json[d-1].value.push(entry.getColumnValues().elementAt(2)) } var tmpentry:NotesViewEntry = nav.getNextCategory(); entry.recycle(); entry = tmpentry; } sessionScope.JsonValue = value Ошибки нету в роде... :nailbiting:
0
|
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 284
|
|
30.03.2015, 11:33 | 18 |
Так работает:
Код (Javascript): var value = {}; value.json = []; var v:NotesView = database.getView("repotResearchWriteOff"); var vec:NotesViewEntryCollection = v.getAllEntries(); vec.FTSearch("FIELD nameNomenclature = \"Спирт\""); var entry:NotesViewEntry = vec.getFirstEntry(); var d = 0; while (entry != null) { if (entry.getColumnValues().elementAt(0).toString() != ) { d = d+1; value.json.push({funding:entry.getColumnValues().elementAt(0).toString(), nomenclature:[], value:[], total:entry.getColumnValues().elementAt(2)}); } if (entry.getColumnValues().elementAt(1).toString() != ) { value.json[d-1].nomenclature.push(entry.getColumnValues().elementAt(1).toString()); value.json[d-1].value.push(entry.getColumnValues().elementAt(2)) } var tmpentry:NotesViewEntry = vec.getNextEntry(entry); entry.recycle(); entry = tmpentry; } sessionScope.JsonValue = value Но пропадают категории ((
0
|
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 284
|
|
30.03.2015, 12:17 | 19 |
И тоталов нету по моему )
0
|
0 / 0 / 0
Регистрация: 15.08.2014
Сообщений: 284
|
|
31.03.2015, 05:30 | 20 |
Подскажите вообще можно результаты поиска категоризировать ?
0
|
31.03.2015, 05:30 | |
31.03.2015, 05:30 | |
Помогаю со студенческими работами здесь
20
View.getalldocumentsbykey против View.createviewnavfromcategory Создать View Без View Style View или не View Данные из View в Controller Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |