Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Добрый день! В классе определен метод, по которому создается и заполняется dynaGrid. Можно ли использовать данный метод на другой ZEN странице для отображения этого грида? Если да, то как? Ячейки грида заполняются пользователем непосредственно на странице. Можно ли по кнопке сохранить значения ячеек грида в массив, чтобы воспользоваться данным массивом на другой ZEN странице?(как я понимаю, это должно производится с использованием %session, да?) Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2010, 13:19 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
блюх , данные не обязательно держать в сессион. Тем паче хранить их там вообще не получится. Как вариант записать табличку в глобал. А на странички передавать некий "идентификатор" этой таблички... Хоть в УРЛе... Хоть в сессион... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2010, 15:04 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Можете привести пример как это сделать?то есть есть грид,в гриде заполняются ячейки значениями,по кнопке формируется глобал,так?кусок текста можете написать как это происходит?и как этот глобал потом вызвать на другой странице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2010, 18:11 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Блюх , алгоритм описан тобой правильно. Но с гридом я не работал... Т.ч. как брать данные из ячеек грида я даже не в курсе... Так же нужно придумать как идентифицировать некой строкой всю табличку, которую потом нужно будет вычитывать на другой странице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2010, 19:13 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Пусть есть грид.Его id="Grid".Значения из грида выцепляются следующим образом- %getvalue(n,m)? где n,m-строка и столбец. есть кнопка.и событие по нажатию этой кнопки .Пусть метод по событию будет называться Save. Что в нем написать?Хотя бы на пальцах объясните, а я уж втыкнуть попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2010, 20:03 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Так,ну вроде с глобалом все получилось.Сейчас буду пробовать работать с ним в другом классе.Спасибо за подсказку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2010, 21:00 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Никак не получается обратиться к глобалу из другого класса. Подскажите как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2010, 21:28 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Корявенько,но все вроде получилось.Спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2010, 21:43 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Блюх , смог сам - уже хорошо! Только в следующий раз показывай как и чего делаешь - это может ускорить решение вопроса/проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2010, 21:47 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
С гридом вопрос решился, но возникли проблемы с таблицей. Есть таблица <tablePane id="SostavList" tableName="MRP.Specif" ... > <column colName="ID" hidden="true"/> <column header="Товар" colName="TovarID->TovName" hidden="true"/> <column header="Спецификация" colName="Name"/> <column header="Количество" colName="Kol"/> </tablePane> Есть datacombo <dataCombo label="Товар:" id="TovarIDSostav" name="TovarID" onchange="javascript:zenPage.Otbor()" sql="SELECT ID,TovName FROM MRP.Tovar ORDER BY ID" size="40" /> В этой датакомбо отображается наименование номенклатуры. Срабатывает событие Method Otbor() [ Language = javascript ] { var t=zenPage.getComponentById('SostavList'); ... var Pole=zenPage.getComponentById('TovarIDSostav'); t.setProperty('whereClause',"TovarID="+Pole.getProperty('value')); zenPage.getComponentById('SostavList').executeQuery(); } Соответственно на экране отобразится состав номенклатуры, которая была выбрана в датакомбо. Поменялась номенклатура в дата-изменилась таблица. Вопрос в следующем-мне необходимо использовать значение ячеек, отображающиеся в таблице по отбору. Я могу их использовать?Пытались сохранить в глобалы,но не очень понятно как их выцепить.А в грид их записать тоже как-то проблемно.Если говорить конкретно необходимо работать со столбцом Количество.Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 01:13 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Блюхнеобходимо работать со столбцом Количество.Заранее спасибо! Так у тебя есть целый sql-запрос, который даёт нужные записи в таблице! Вот и работай с ним. Что-то не понятно мне зачем тебе значения самих ячеек в таблице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 09:05 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Блюх, как-то так, думаю: Код: plaintext 1. 2. 3. For tables in snapshot mode only. Go to the server and fetch the data for the specified row (0-based) from the table snapshot data. This data is packaged into a JavaScript object whose properties correspond to the names of the columns in the snapshot table. For non-snapshot tables or out of range row numbers, returns null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 10:23 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
1.Да.Запрос есть.Но в дальнейшем для расчетов мне необходимы конкретные значения. В чем суть. Есть номенклатура, по номенклатуре отображается ее состав. Например, изделие А состоит из трех B и двух C. То есть по запросу, который у меня есть на экране отобразиться следующее дата комбо: выбираю изделие А отображается: --------------|-------------- Наименование Количество | --------------|-------------- B 3 --------------|-------------| C 2 --------------|-------------| Вот для дальнейших расчетов мне нужно как-то запомнить значения 3 и 2, чтобы производить с ними арифметические операции. Потому что таких таблиц по запросу у меня не одна. И в ней тоже формируются свои данные. Значения некоторых столбцов должны перемножаться в зависимости от условия и попасть в другую таблицу.Вот так все запутано) Можете как-то помочь? 2.С гридом все было бы хорошо. Я с ним работать умею. Но не получается сормировать грид именно таким образом по запросу.В zen методе, который формирует грид указываю sql запрос и в условии where необходимо добавить следующую конструкцию TovarID=Pole, где поле хранит в себе значение TovarIDSostav- то есть ID той записи , которую пользователь только что выбрал в датакомбо. В Pole все прекрасно записывается, но в самом запросе никак не получается написать TovarID=Pole,чтобы в Pole считывалось значение, хранящееся в этой переменной. Как уже только не писал, и TovarID=#(Pole)# и просто TovarID=Pole, ничего не получается.Вроде понятно объяснил. Там запрос пишется sql="select (то,что мне надо) where TovarID=? " Под знаком вопрос надо написать переменную Pole.Не знаете как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 10:27 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
kolesov,Так не пойдет. у меня нет конкретной таблицы. У меня есть таблица,формируемая по запросу из других таблиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 10:29 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
БлюхВот для дальнейших расчетов мне нужно как-то запомнить значения 3 и 2, чтобы производить с ними арифметические операции. Потому что таких таблиц по запросу у меня не одна. И в ней тоже формируются свои данные. Значения некоторых столбцов должны перемножаться в зависимости от условия и попасть в другую таблицу.Вот так все запутано) Можете как-то помочь? Ничего запутаного нет. Ты просто сам разберись что тебе нужно. В любом случае нужно использовать только данные из БД, а со странички брать только вводимую пользователем информацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 10:36 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Блюх2.С гридом все было бы хорошо. Я с ним работать умею. Но не получается сормировать грид именно таким образом по запросу.В zen методе, который формирует грид указываю sql запрос и в условии where необходимо добавить следующую конструкцию TovarID=Pole, где поле хранит в себе значение TovarIDSostav- то есть ID той записи , которую пользователь только что выбрал в датакомбо. В Pole все прекрасно записывается, но в самом запросе никак не получается написать TovarID=Pole,чтобы в Pole считывалось значение, хранящееся в этой переменной. Как уже только не писал, и TovarID=#(Pole)# и просто TovarID=Pole, ничего не получается.Вроде понятно объяснил. Там запрос пишется sql="select (то,что мне надо) where TovarID=? " Под знаком вопрос надо написать переменную Pole.Не знаете как это сделать? Как вариант... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 10:42 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Блюхkolesov,Так не пойдет. у меня нет конкретной таблицы. У меня есть таблица,формируемая по запросу из других таблиц Извиняюсь, поленился все писать. Первая строчка выглядит так: var table = zenPage.getComponentById("имя вашего tablePan'а"); В том смысле, что это табличка на странице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 10:47 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Так вот с whereclause как раз-таки проблем бы и не было.так можно было указать конкретно TovarID=#(Pole)#.И все работало. Запрос строился как раз по такой выборке.Но для грида запрос формируется так: s query1="SELECT Name FROM MRP.Specif WHERE TovarID=#(Pole)#" Но если пишу так, то в таблице ищутся не значения, где TovarID совпадает со значением переменной Pole,а со строкой '#(Pole)#'(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 10:55 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Блюх , вот еще вариант с параметром... Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 10:59 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
В примере Код: plaintext 1. как раз попадает под твоё описание проблемы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 11:00 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Так я понимаю, когда пишут,что Member=?,то значит Member может принимать любое значение или я ошибаюсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 11:05 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Блюх , не любое. А только значения из параметра. Т.е. тебе просто не хватает параметра внутри тейбелплэйн... Добавь параметр... В условии селекта поставь знак вопроса... И будет тебе счастие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 11:08 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Что-то типа этого... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 11:12 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Точнее даже так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 11:13 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Блюх , показывай примеры твоего кода. Это облегчит дело... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 11:14 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
<tablepane> ... whereClause="TovarID=#(TovarIDSostav)#" -вот такое условие,да? </tablepane> а в query грида просто поставлю ? Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 11:20 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Ну я попробую по-всякому,если не получится, после обеда выложу куски текста. Спасибо всем за помощь и подсказки,буду пробовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 11:26 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
всем привет не очень понятна задача, но для работы с dynaGrid я иногда использую параметр aux куда и записываю параметры для запроса потом просто все это разбираю. вот например такой dg (немного мною переделанный, для удобства работы и с возможностью вставки в ячейку компонентов ZEN, в частности dataCombo): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Код: 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. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 11:34 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Блюх , про грид вроде речь уже не шла... Был датакомбо... Был тэйблплэйн... Вроде решали как их повязать друг с другом... Про грид не скажу... Я с ним не работал. Да и в твоём случае не понятно зачем он нужен, если вся информация уже находится в классах. Грид, я так понимаю, нужен для "табличного" редактирования данных. А с показом и выбором справится тэйблплэйн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 11:37 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Ymka2007 Код: plaintext 1. 2. 3. 4. Вот так бы подправил твой запрос... Раз про параметры речь идёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 11:42 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Он- то справился. Но я ж говорю,надо каким-то чудо образом работать со значениями столбцов,которые только что отобразил мне тайблпейн. Я не знаю,как это сделать в таблице, а вот в гриде работать с ячейками легко. Поэтому, думал формировать не тайблпейн по запросу, а формировать грид. И тогда все было бы легко. Возникла проблема с запросом, по которому формирвался грид.Не получается сформировать условие WHERE. Поэтому я написал,пишу в zen методе для грида: "select Name from MRP.Specif where TovarID=#(Pole)#", где Pole-это айди записи из datacombo. Так не рабоатет.Хотел узнать,как написать,чтобы работало. Вот и все.Мы друг друга не поняли) Тут товарищ выше выложил еще свой грид, кое-что полезное я там увидел, попробую так сделать. В любом случае,всем спасибо,буду пробовать и если что спрашивать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 11:49 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
1. метод oncahge у dataCombo в нем нужно прописать this.getComponentById('твой_ID_твоего_dynaGrid').setProperty('aux',твой_dataCombo.getValue()); 2. для простоты положи кнопку обновления данных в dynaGrid: onclick: (метод формирования данных в dynaGrid должен быть CreateDataSet(pGrid As %ZEN.Component.dynaGrid, pDataSet As %ZEN.Auxiliary.dataSet) As %Status [ ZenMethod ]) вот такого плана: Method btnShow() [ Language = javascript ] { var c1=this.getComponentById('catMT').getValue(); if (c1=='') { alert('Необходимо выбрать федерацию'); return; } var c2=this.getComponentById('catD').getValue(); var dc=this.getComponentById('cellEditor1'); dc.clearCache(); dc.setProperty('whereClause',c1+' ; '+c2); var dg=this.getComponentById('dynaGrid'); dg.setProperty('aux',c1+' ; '+c2); var res=this.CreateDataSet(dg,dg.dataSet); if (res!=1) {alert('Ошибка!\n'+res);return;} dg.setHidden(false); dg.renderContents(); dg.focus();dg.focus(); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 13:00 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
krvsa, тут в принципе не важно как все это сформировано, главное чтоб "пусто" не передавалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 13:01 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Блюх, такого плана передачи переменных помоему я еще нигде не видел: #(Pole)# может быть #(%page.Pole)# или #(this.Pole)#,но при этом на странице у тебя должно быть обьявлено свойство "Property Pole As %String" например у тя какая версия Cache стоит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 13:04 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Ymka2007тут в принципе не важно как все это сформировано, главное чтоб "пусто" не передавалось В этом конкретном - возможно. Но в общем случае делать желательно через параметры... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 13:25 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Блюхнадо каким-то чудо образом работать со значениями столбцов,которые только что отобразил мне тайблпейн Если в табличке ты видишь все что тебе нужно - знать у тебя уже есть нужный sql-запрос. Вот и используй его для получения данных. Не стоит "выковыривать" данные из хтмл-разметки, т.к. они есть в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 13:28 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
krvsa, в dynaGrid для этого есть свои методы getCellValue(r, c) returns nothing. [ Language = javascript ] Return value of grid cell; Row and column are 1-based ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 13:40 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Вообщем,вот чего я пытался добиться и увидел в одном из выложенных примеров. Получилось у меня все в грид записать по запросу.вот метод Method CreateDataSetCurrentControl3(pGrid As %ZEN.Component.dynaGrid, pMode As %String = "") [ ZenMethod ] { s pDataSet = pGrid.dataSet s Pole=..%GetValueById("TovarIDSostav") ... do resSet.Prepare("SELECT Name,Kol FROM MRP.Specif,MRP.Tovar where TovarID="_Pole_" group by Name") do resSet.Execute() while resSet.Next() { /*do pDataSet.%SetLabel(s_i,i,2)*/ do pDataSet.%SetLabel(resSet.Get("Name"),n,1) do pDataSet.%SetValue(resSet.Get("Kol"),n,1) set n=n+1 } d pGrid.%ForceClientRender() } Меня интересовало,как считать значение из поля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 13:45 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Ymka2007, Pole-это переменная в которой уже хранится значение. Поэтому передачей такого вида #(Pole)# можно было пользоватьсяв других методах.Здесь не получалось)Но увидел,как вы писали _Pole_ и все получилось. Спасибо всем за советы!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 13:47 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Блюх, рекомендую в таких случаях перед исполнением запроса сам текст запроса зхаписывать в глобаль в портале находить её, копировать значение и пытаться выполнить этот запрос в портале либо выносить на суд общественности сам контекст ошибки (она же была? и текст скорее всего был доступен, было бы быстрее вам помочь) P.S. как оказалось строка запроса сформирована была неправильно, вот и "ноги" откуда растут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 14:29 |
|
||
|
Использование методов класса, %session
|
|||
|---|---|---|---|
|
#18+
Как это неправильно?Запрос работал.Проблема была только в условии where.Я об этом написал несколько раз. Просто была проблема,решить которую можно было несколькими способами- либо работать с тэйблпейном,либо работать с гридом. Грид для меня ближе и понятнее. Если меня кто-то не понял,извините за корявое объяснение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 14:51 |
|
||
|
|

start [/forum/topic.php?all=1&fid=39&tid=1558088]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
89ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 428ms |

| 0 / 0 |
