powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN: проблемы с dynaGrid
17 сообщений из 17, страница 1 из 1
ZEN: проблемы с dynaGrid
    #36529170
iriskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка возникает при обновлении грида с использованием метода
Код: plaintext
pGrid.%ForceClientRender()
закономерность - когда датасет очень большой, т.е. очень большая таблица получается, как в ширину так и в длину.
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36529883
iriskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел класс, отвечающий за ошибку %ZEN.Controller метод
Код: 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.
112.
113.
ClassMethod %DeserializePage(pHeader As %String, pBody As %String, Output pObjects) As %Status
{
	Set $ZT = "Trap"
	Set tSC = $$$OK

	Do {
		New %compositeList
	
		#; this should not happen
		If ((pHeader = "")||(pBody="")) Quit

		If ($IsObject(pHeader)) {
			#; header is a stream, not currently supported
			Set tSC = $$$ERROR($$$GeneralError,"Serial State Header is too large")
			Quit
		}
		
		#; first process header
		#; first record is list of class names
		Set tClassList = $P(pHeader,$C( 4 ), 1 )
		For c =  1 : 1 :$L(tClassList,$C( 1 )) {
			#; class # to class name
			Set tClasses(c) = $P(tClassList,$C( 1 ),c)
		}

		#; now walk down list of objects in header
		#; instantiate, and add to local, indexed list
		For o =  2 : 1 :$L(pHeader,$C( 4 )) {
			Set tObjInst = $P(pHeader,$C( 4 ),o)

			#; first  2  pieces are class # and obj index
			Set tClassNo = $P(tObjInst,$C( 1 ), 1 )
			Set tIndex = $P(tObjInst,$C( 1 ), 2 )

			#; dereference class #
			Set tClass = tClasses(tClassNo)

			Set pObjects(tIndex) = $zobjclassmethod(tClass,"%New")
			If (tIndex =  1 ) {
				#; this must be the page
				Set %page = pObjects(tIndex)
			}
		}

		#; now walk down body and apply property values
		#; test if body is provided as a stream or string
#ifdef MaxLocalLength
		Set CHUNK =  4000 
		Set MAXSTRING = $$$MaxLocalLength -  5000 
#else
		Set CHUNK =  4000 
		Set MAXSTRING =  26000 
#endif

		If ($IsObject(pBody)) {
			#; process stream in chunks
			Set tExtra = ""
			While (pBody.AtEnd =  0 ) {
				If ($L(tExtra) < MAXSTRING) {
					Set tChunk = tExtra _ pBody.Read(CHUNK)
				}
				Else {
					#; node too big
					Set tSC = $$$ERROR($$$GeneralError,"Node in Serial State is too large")
					Quit
				}
				#; process chunk
				Set p =  1 
				While (p >  0 ) {
					#; get next item
					Set next = $F(tChunk,$C( 4 ),p),tObjState = $S(next> 0 :$E(tChunk,p,next- 2 ), 1 :$E(tChunk,p,*))
					#; test for end of chunk v. end of stream
					If ((next= 0 )&&('pBody.AtEnd)) {
						Set tExtra = tObjState
						Quit
					}
					#; pull index out of 2nd piece and look up oref
					Set tObj = pObjects($P(tObjState,$C(1),2))
					Set tSC = tObj.%ZENDeserialize(tObjState,.pObjects)
					If $$$ISERR(tSC) Quit
					Set p = next
					Set tExtra = ""
				}
			}
		}
		Else {
			#; process string
			Set p = 1
			While (p > 0) {
				#; get next item
				Set next = $F(pBody,$C(4),p), tObjState = $S(next>0:$E(pBody,p,next-2),1:$E(pBody,p,*))
				#; pull index out of 2nd piece and look up oref
				Set tObj = pObjects($P(tObjState,$C(1),2))
				Set tSC = tObj.%ZENDeserialize(tObjState,.pObjects)
				If $$$ISERR(tSC) Quit
				Set p = next
			}
		}
		If $$$ISERR(tSC) Quit

		#; if %compositeList is defined, then we have deserialized
		#; a composite *before* deserializing the page
		If $D(%compositeList)&&$IsObject(%page) {
			Merge %page.%CompositeList = %compositeList
		}
	} While (0)
Done
	Quit tSC
Trap
	Set $ZT=""
	$$$ZENLOGERROR($ZE)
	&js<alert('Error deserializing page: #($ZCVT($ZE,"O","JS"))#\nProperty: #($G(tProp))#\nValue: #($G(tValue))#');>
	Goto Done
}
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36529885
iriskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Править в нем ничего нельзя, собственно дальше пока не ушел.
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36529900
iriskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
решил проблему
Код: plaintext
#Define MaxLocalLength  50000 
правда пока не знаю на чем это отразится и отразится ли вообще?
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36529906
iriskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iriskinрешил проблему
Код: plaintext
#Define MaxLocalLength  50000 
правда пока не знаю на чем это отразится и отразится ли вообще?
мда а ведь счастье было так близко :(
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36529912
iriskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iriskiniriskinрешил проблему
Код: plaintext
#Define MaxLocalLength  50000 
правда пока не знаю на чем это отразится и отразится ли вообще?
мда а ведь счастье было так близко :(
неужели никто не знает чем помочь
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36529940
Фотография kolesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iriskinнеужели никто не знает чем помочь

Либо уменьшить грид, либо тэйблПэйн использовать.
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36529959
iriskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kolesoviriskinнеужели никто не знает чем помочь

Либо уменьшить грид, либо тэйблПэйн использовать.
фиговые перспективы :-\
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36529993
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iriskin , а для чего вообще нужны большие гриды?
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36530245
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
этот стандартный грид предусматривает кубическое представление данных
попробуйте на каждом page выводить ограниченное кол-во записей
т.е.
ваши 100 записей должны разложиться по 10 на page и кол-во page будет равно 10
должно сработать
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36530399
iriskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa iriskin , а для чего вообще нужны большие гриды?
прихоть увы не моя :(

Ymka2007,

решил проблему довольно демократически, урезаю кол-во символов загружаемых в ячейку, при выделении отображается полностью, примерно как эксель.
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36530617
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iriskin , т.е. всетаки прихоть...
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36530794
iriskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

как есть ;)
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36531097
iriskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iriskinkrvsa,

как есть ;)

не связывайтесь с зеном, пожалеете 1000 раз!
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36531166
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iriskinне связывайтесь с зеном, пожалеете 1000 раз!
Поздно... Все там будем...
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36532171
Фотография kolesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iriskinне связывайтесь с зеном, пожалеете 1000 раз!

Я бы перефразировал: Не ввязывайтесь в крутую архитектуру и багатый интерфейс, если у вас нет хорошей команды в пару сотен человек ;)

Для проекта уровня предприятия (до тысячи-двух юзеров), реализуемого АйТи службой, лучше ZENa (для Cache') ничего нету.
...
Рейтинг: 0 / 0
ZEN: проблемы с dynaGrid
    #36540556
iriskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
решение проблемы очень простое :)
в разделе конфигурация -> память и старт системы разрешить длинные строки
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN: проблемы с dynaGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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