|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
Не могли бы вы подсказать, как можно компонент <dataGrid> связать с таблицей из базы данных? Чтобы данные не вручную прописывать через value у колонок или через MetaData, а именно получить из постоянно обновляющейся базы данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2013, 13:23 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
Freeyкомпонент <dataGrid> Э-э-э-эээ, кагбэ-э-эээ ... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2013, 13:45 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2013, 13:46 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
Freey , Например, так:<page xmlns=" http://www.intersystems.com/zen" title=""> <jsonSQLProvider id="json" sql="select 1 ID,10 Name union all select 2,111 union all select 3,2 union all select 4,1"/> <dataGrid controllerId="json" pageSize="2"/> </page> ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2013, 13:47 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2013, 13:50 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
servit Новые визуальные HTML5 ZEN-компоненты в СУБД Caché 2013.2 Твайюметь! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2013, 14:04 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
servit, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2013, 13:48 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
Есть еще вопросы по данному компоненту. Можно ли регулировать размер колонок, так, чтобы они всю область компонента занимали, а не только по размеру теста в них. columnWidth не помог. Так же можно ли регулировать длину выделенной области по количеству строк? Как реализовать реакция на на выбор строки? onaction и onchangecell сразу не подходят, onselectcell реагирует, но только если перешли на новую строку. Т.к. dataGrid в любом случае выделяет какую-либо ячейку, то если пользователь хочет в первое же действие нажать на нее, система не среагирует на данный выбор. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2013, 20:54 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
FreeyМожно ли регулировать размер колонок, так, чтобы они всю область компонента занимали, а не только по размеру теста в них.Можно (см. canResizeColumns). FreeycolumnWidth не помог.У меня работает (2013.2). FreeyТак же можно ли регулировать длину выделенной области по количеству строк?Можно (см. multiSelect и selectedRange) FreeyКак реализовать реакция на на выбор строки?selectMode="cells" FreeyТ.к. dataGrid в любом случае выделяет какую-либо ячейкуНе в любом (см. currRow и currColumn). Установите их в 0 и ничего не будет выделено. Freey, то если пользователь хочет в первое же действие нажать на нее, система не среагирует на данный выбор.У меня реагирует (может зависеть от браузера). Пример:XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <jsonSQLProvider id="json" sql="select 1 ID,10 Name union all select 2,111 union all select 3,2 union all select 4,1"/> <dataGrid controllerId="json" canResizeColumns="true" columnWidth="200" selectMode="cells" multiSelect="true" selectedRange="1,1,3,1" onselectcell="zenPage.selectcell(row,col);" currRow="1" currColumn="2" /> </page> } ClientMethod selectcell( row, col) [ Language = javascript ] { zenAlert('row=',row,'\ncol=',col); }В документации к новой версии 2013.2 Вы найдёте более подробное описание этого компонента. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2013, 14:54 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
servitУ меня работает (2013.2). Ваш пример у меня тоже заработал. Вставила в свой проект и изменила до нужно, тоже работает. Но старая версия как не работала, так и не хочет. Странно. servitselectMode="cells" Скорее rows, а не cells. Еще один вопрос назрел. При выборе строки <tablePane id="table"> можно было достать значение (valueColumn) выделенной строки про id, т.е. через ..%GetValueById("table"). С dataGrid такое не получается. Передача параметров в функцию, которая обрабатывает выбор строки, не получится, потому что onselectcell не поддерживает пременную value. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2013, 11:47 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
Freeyможно было достать значение (valueColumn) Проблема решилась c помощью использования getRowValue(row). Хотя опять же вставка его в тестовый пример с Хабрахабра не помогала, а в своем проекте - все заработало. servitМожно (см. multiSelect и selectedRange) Я видимо неправильно выразилась: имела в виду область вокруг таблицы, которая со стрелками. Ширина фиксируется width, а вот height (регулировка длины) не хочет работать. При генерации данных для таблицы через jsonSQLProvider данные не записываются в скрытый столбец. Можно это как-то исправить? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2013, 14:29 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
FreeyЯ видимо неправильно выразилась: имела в виду область вокруг таблицы, которая со стрелками. Ширина фиксируется width, а вот height (регулировка длины) не хочет работать.XData Style { <style type="text/css"> #dg { width: 620px; height: 100px; } </style> } dataGrid id="dg" /> FreeyПри генерации данных для таблицы через jsonSQLProvider данные не записываются в скрытый столбец. Можно это как-то исправить?Можно тестовый пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2013, 14:46 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
Не получилось по другому вставить с подсветкой синтаксиса. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2013, 18:56 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
FreeyПри генерации данных для таблицы через jsonSQLProvider данные не записываются в скрытый столбец. Можно это как-то исправить?Что Вы здесь понимаете под "данные не записываются в скрытый столбец"? В базу не записываются? Из последнего примера кода непонятно, что именно не работает и как Вы определяете факт "незаписи". ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2013, 19:32 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
servit, У меня три столбца в таблице (один из которых скрыт, туда записывается ID, который пользователю не нужно видеть). В обычной таблице в скрытый столбец из базы бы записались данные, а тут, если столбец скрыт, то в него ничего не записывается, т.е. если запустить пример, то ID, которые мы достаем из базы, записываются в Caption1. Если столбец сделать видимым, то в него данные успешно запишутся. Имеется в виду "запишутся" данные, как "отобразятся". ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2013, 22:16 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
Freey , <jsonSQLProvider id="json" sql="select 1 ID, 10 Caption1, 11 Caption2 union select 2, 20, 22 union select 3, 30, 33 union select 4, 40, 44"/> <dataGrid controllerId="json" valueColumn="1" id="table" selectMode="rows" multiSelect="false" pageSize="20" currRow="0" currColumn="0"> <columnDescriptor hidden="true" value="=[@ID]"/> <columnDescriptor caption="Caption1" value="=[@Caption1]"/> <columnDescriptor caption="Caption2" value="=[@Caption2]"/> </dataGrid> ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2013, 23:20 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
servit, Спасибо. Скажите, у меня фильтрация по скрытому столбцу не происходит. Это как-то исправляется? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2013, 09:28 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
FreeyСкажите, у меня фильтрация по скрытому столбцу не происходит. Это как-то исправляется?Сейчас фильтрация происходит на клиенте на основе дескрипторов столбцов, невидимые из которых исключаются из этого процесса. Но можно создать свой собственный компонент на основе <dataGrid>. Или использовать параметризированный запрос, например, так:Для работы этого примера нужен патч<page xmlns=" http://www.intersystems.com/zen" title=""> <jsonSQLProvider id="json" sql="select * from (select 1 ID, 10 Caption1, 11 Caption2 union select 2, 20, 22 union select 3, 30, 33 union select 4, 40, 44) where ID between ? and ?"> <parameter paramName="p1" value="3"/> <parameter paramName="p2" value="4"/> </jsonSQLProvider> <dataGrid controllerId="json"> <columnDescriptor caption="ID" value="=[@ID]"/> <columnDescriptor caption="Caption1" value="=[@Caption1]"/> <columnDescriptor caption="Caption2" value="=[@Caption2]"/> </dataGrid> </page> ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2013, 13:30 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
servit, Спасибо. servit на основе дескрипторов столбцов, невидимые из которых исключаются из этого процесса но также нельзя и достать значение из скрытого столбца (через valueColumn и getRowValue(row)). И теряется смысл его скрывать, так как не возможно взаимодействие. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2013, 14:19 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
Как получить Id объекта при выборе строки в dataGrid? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2013, 08:40 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
FreeyКак получить Id объекта при выборе строки в dataGrid?При скрытом поле ID, например, так: <jsonSQLProvider id="json" sql="select -1 ID, 10 Caption1, 11 Caption2 union select -2, 20, 22 union select -3, 30, 33 union select -4, 40, 44"/> <dataGrid controllerId="json" onselectcell="zenAlert(zenThis.getCellExternalData(row-1,'ID'));" > <columnDescriptor value="=[@ID]" hidden="true"/> <columnDescriptor caption="Caption1" value="=[@Caption1]"/> <columnDescriptor caption="Caption2" value="=[@Caption2]"/> </dataGrid> ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2013, 11:15 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
servit, Спасибо большое. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2013, 17:00 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
Мне нужно было выделить несколько строк, получилось это через showRowSelector (правильно ли это, или есть другие варианты?). Но тогда необходимо реагировать на каждый выбор checkbox'а, как это сделать? И еще вопрос: как получить массив строк, которые выбрали с помощью checkbox'ов? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2013, 14:10 |
|
Компонент <dataGrid> и получение данных из базы данных
|
|||
---|---|---|---|
#18+
Перепробовала различные обработчики, но на выбор checkbox'а, они не реагировали. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2013, 19:45 |
|
|
start [/forum/topic.php?fid=39&msg=38340409&tid=1557066]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 161ms |
0 / 0 |