powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Компонент <dataGrid> и получение данных из базы данных
25 сообщений из 28, страница 1 из 2
Компонент <dataGrid> и получение данных из базы данных
    #38340409
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могли бы вы подсказать, как можно компонент <dataGrid> связать с таблицей из базы данных? Чтобы данные не вручную прописывать через value у колонок или через MetaData, а именно получить из постоянно обновляющейся базы данных.
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38340458
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Freeyкомпонент <dataGrid>
Э-э-э-эээ, кагбэ-э-эээ ...
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38340461
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38340464
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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>
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38340473
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38340506
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38343658
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit, спасибо.
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38344350
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть еще вопросы по данному компоненту.

Можно ли регулировать размер колонок, так, чтобы они всю область компонента занимали, а не только по размеру теста в них. columnWidth не помог. Так же можно ли регулировать длину выделенной области по количеству строк?

Как реализовать реакция на на выбор строки?
onaction и onchangecell сразу не подходят, onselectcell реагирует, но только если перешли на новую строку. Т.к. dataGrid в любом случае выделяет какую-либо ячейку, то если пользователь хочет в первое же действие нажать на нее, система не среагирует на данный выбор.
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38345318
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 Вы найдёте более подробное описание этого компонента.
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38346250
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servitУ меня работает (2013.2).
Ваш пример у меня тоже заработал.
Вставила в свой проект и изменила до нужно, тоже работает. Но старая версия как не работала, так и не хочет. Странно.

servitselectMode="cells"
Скорее rows, а не cells.

Еще один вопрос назрел.
При выборе строки <tablePane id="table"> можно было достать значение (valueColumn) выделенной строки про id, т.е. через ..%GetValueById("table"). С dataGrid такое не получается.
Передача параметров в функцию, которая обрабатывает выбор строки, не получится, потому что onselectcell не поддерживает пременную value.
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38346320
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Freeyможно было достать значение (valueColumn)
Проблема решилась c помощью использования getRowValue(row). Хотя опять же вставка его в тестовый пример с Хабрахабра не помогала, а в своем проекте - все заработало.

servitМожно (см. multiSelect и selectedRange)
Я видимо неправильно выразилась: имела в виду область вокруг таблицы, которая со стрелками. Ширина фиксируется width, а вот height (регулировка длины) не хочет работать.

При генерации данных для таблицы через jsonSQLProvider данные не записываются в скрытый столбец. Можно это как-то исправить?
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38347400
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeyЯ видимо неправильно выразилась: имела в виду область вокруг таблицы, которая со стрелками. Ширина фиксируется width, а вот height (регулировка длины) не хочет работать.XData Style
{
<style type="text/css">
#dg {
  width: 620px;
  height: 100px;
}
</style>
}

dataGrid id="dg" />
FreeyПри генерации данных для таблицы через jsonSQLProvider данные не записываются в скрытый столбец. Можно это как-то исправить?Можно тестовый пример?
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38347787
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получилось по другому вставить с подсветкой синтаксиса.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<jsonSQLProvider id="json" sql="select 1, 10, 11 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 caption="ID" hidden="true"/>
<columnDescriptor caption="Caption1"/>
<columnDescriptor caption="Caption2"/>
</dataGrid>
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38347835
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeyПри генерации данных для таблицы через jsonSQLProvider данные не записываются в скрытый столбец. Можно это как-то исправить?Что Вы здесь понимаете под "данные не записываются в скрытый столбец"? В базу не записываются?

Из последнего примера кода непонятно, что именно не работает и как Вы определяете факт "незаписи".
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38347959
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

У меня три столбца в таблице (один из которых скрыт, туда записывается ID, который пользователю не нужно видеть). В обычной таблице в скрытый столбец из базы бы записались данные, а тут, если столбец скрыт, то в него ничего не записывается, т.е. если запустить пример, то ID, которые мы достаем из базы, записываются в Caption1. Если столбец сделать видимым, то в него данные успешно запишутся.

Имеется в виду "запишутся" данные, как "отобразятся".
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38347994
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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>
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38348150
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

Спасибо.

Скажите, у меня фильтрация по скрытому столбцу не происходит. Это как-то исправляется?
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38348640
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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>
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38348720
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

Спасибо.

servit на основе дескрипторов столбцов, невидимые из которых исключаются из этого процесса

но также нельзя и достать значение из скрытого столбца (через valueColumn и getRowValue(row)). И теряется смысл его скрывать, так как не возможно взаимодействие.
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38349609
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как получить Id объекта при выборе строки в dataGrid?
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38349788
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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>
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38350559
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

Спасибо большое.
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38351633
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне нужно было выделить несколько строк, получилось это через showRowSelector (правильно ли это, или есть другие варианты?). Но тогда необходимо реагировать на каждый выбор checkbox'а, как это сделать?
И еще вопрос: как получить массив строк, которые выбрали с помощью checkbox'ов?
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38360176
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перепробовала различные обработчики, но на выбор checkbox'а, они не реагировали.
...
Рейтинг: 0 / 0
Компонент <dataGrid> и получение данных из базы данных
    #38369976
Freey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как получить список Id объектов, соответствующих отмеченным галочками строкам в таблице.
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Компонент <dataGrid> и получение данных из базы данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]