Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / JSON обновление данных на ZEN- странице с использованием altJSONProvider / 4 сообщений из 4, страница 1 из 1
26.07.2016, 09:22
    #39280052
pavel_khv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON обновление данных на ZEN- странице с использованием altJSONProvider
Добрый день.

Есть ZEN-страница с элементом dataCombo и таблицей dataGrid.
Необходимо, чтобы в зависимости от выбранного элемента в dataCombo менялись данные в таблице, но почему-то при выборе элемента вылетает ошибка.
Во вложении скриншот ошибки и xml-код страницы.
Подскажите, в чем может быть дело и как правильно нужно сделать?
...
Рейтинг: 0 / 0
26.07.2016, 15:34
    #39280441
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON обновление данных на ZEN- странице с использованием altJSONProvider
pavel_khvПодскажите, в чем может быть дело и как правильно нужно сделать?
Используйте параметры
Код: plaintext
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.
/// Created using the page template: Default
Class Community.Sample Extends %ZEN.Component.page
{

/// Этот XML блок описывает содержимое этой страницы.
XData Contents [ XMLNamespace = " http://www.intersystems.com/zen"  ]
{
<page xmlns=" http://www.intersystems.com/zen"  title="Test">
  <dataController id ="source" modelClass="Community.Model" />
  <altJSONProvider id="jsonProvider" OnGetArray="SrvGetData"> 
    <parameter paramName="p1"/>
  </altJSONProvider>
  <form id ="myForm" controllerId="source">
    <dataCombo id="Item" sql="select Item from Community.Model" onchange="zenPage.updateTable(zenThis.getValue());"/>
    <dataGrid
      id="dGrid"
      controllerId="jsonProvider"
      selectMode="cells"
      hasFormulas="false"
      gridTitle="myTable"
      multiSelect="false"
      hidden="false" >
      <columnDescriptor caption="Column1" />
      <columnDescriptor caption="Column2" />
      <columnDescriptor caption="Column3" />
      <columnDescriptor caption="Column4" />
    </dataGrid>
  </form>
</page>
}

ClientMethod updateTable(value) [ Language = javascript ]
{
  var provider = zen('jsonProvider');
  provider.parameters['p1'].value = value;
  provider.reloadContents();
}

Method SrvGetData(
  ByRef pParameters,
  Output pMetaData,
  Output pData) As %Status [ ZenMethod ]
{

  s pMetaData = $lb("Column1","Column2","Column3","Column4")

  s item =   pParameters("p1")
  
  s var1=$case(item,1:"one",2:"two",3:"three",4:"four",:"nothing")

  f i=1:1:6 s pData(i) = $lb(var1,var1,var1,var1)

  q $$$OK
}

}
...
Рейтинг: 0 / 0
26.07.2016, 15:43
    #39280447
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON обновление данных на ZEN- странице с использованием altJSONProvider
pavel_khvно почему-то при выборе элемента вылетает ошибка.Причину объяснил на DC eduard93.
...
Рейтинг: 0 / 0
27.07.2016, 04:21
    #39280733
pavel_khv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSON обновление данных на ZEN- странице с использованием altJSONProvider
servit,

Большое спасибо. Теперь код работает правильно.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / JSON обновление данных на ZEN- странице с использованием altJSONProvider / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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