Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN: проблемы с dynaGrid / 17 сообщений из 17, страница 1 из 1
18.03.2010, 17:17
    #36529170
iriskin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN: проблемы с dynaGrid
Ошибка возникает при обновлении грида с использованием метода
Код: plaintext
pGrid.%ForceClientRender()
закономерность - когда датасет очень большой, т.е. очень большая таблица получается, как в ширину так и в длину.
...
Рейтинг: 0 / 0
19.03.2010, 04:56
    #36529883
iriskin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN: проблемы с dynaGrid
Нашел класс, отвечающий за ошибку %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
19.03.2010, 04:58
    #36529885
iriskin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN: проблемы с dynaGrid
Править в нем ничего нельзя, собственно дальше пока не ушел.
...
Рейтинг: 0 / 0
19.03.2010, 06:08
    #36529900
iriskin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN: проблемы с dynaGrid
решил проблему
Код: plaintext
#Define MaxLocalLength  50000 
правда пока не знаю на чем это отразится и отразится ли вообще?
...
Рейтинг: 0 / 0
19.03.2010, 06:30
    #36529906
iriskin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN: проблемы с dynaGrid
iriskinрешил проблему
Код: plaintext
#Define MaxLocalLength  50000 
правда пока не знаю на чем это отразится и отразится ли вообще?
мда а ведь счастье было так близко :(
...
Рейтинг: 0 / 0
19.03.2010, 06:55
    #36529912
iriskin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN: проблемы с dynaGrid
iriskiniriskinрешил проблему
Код: plaintext
#Define MaxLocalLength  50000 
правда пока не знаю на чем это отразится и отразится ли вообще?
мда а ведь счастье было так близко :(
неужели никто не знает чем помочь
...
Рейтинг: 0 / 0
19.03.2010, 07:41
    #36529940
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN: проблемы с dynaGrid
iriskinнеужели никто не знает чем помочь

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

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

Ymka2007,

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

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

как есть ;)

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

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

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


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