powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN dynaGrid кто использует сей компонент?
6 сообщений из 6, страница 1 из 1
ZEN dynaGrid кто использует сей компонент?
    #36303479
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет, хотелось бы узнать кто и где использует компонент dynaGrid ?
хочу обсудить варианты вставки компонентов ZEN при редактировании ячеек, интересует реализация вставки dataCombo, у меня сейчас это реализовано но слишком кустарно, хотелось бы каким нибудь образом это все параметризовать, определять и настраивать при описании dynaGrid.

если кому нужно код для удаления любой строки в dynaGrid на клиенте (удаление на сервере я думаю проблем не приносит ):
Код: 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.
/// удаление строки в dynaGrid
/// вызов пользовательской функции удаления
/// обязательно должна возвращать статус ( 0 , 1  или true,false)	
///  1 -удаление прошло успешно
///  0  errorCode (ноль пробел текст ошибки) - если произошла ошибка
/// <demo:gbDynaGrid
/// onDelRow="return zenPage.delRow(id);">
/// Method delRow(id) As %String [ ZenMethod ]
/// {
/// ...
/// s:$$$ISERR(sc) sc=0_" "_$System.Status.GetErrorText(sc)
/// 	q sc
/// }
Method delRow() [ Language = javascript ]
{
	var oldStyle=this.trObject.style.backgroundColor; 
	this.trObject.style.backgroundColor=this.rowDeleteColor; 
	if (!confirm('Вы действительно желаете удалить выделенную строку?')) {
		this.trObject.style.backgroundColor=oldStyle;		
		this.focus();
		return;
	}	
	if (this.onDelRow) {
		//вызов пользовательской функции удаления
		var idRow=this.getCellValue(this.currRow,this.getColumnCount())
		var res=zenInvokeCallbackMethod(this.onDelRow,this,'onDelRow','id',idRow);
		//alert('res='+res+'\nres.substring(0,0)='+res.substring( 0 , 0 )+'\nres.substring(1,1)='+res.substring( 1 , 1 )+'\nres.substr(2)='+res.substr( 2 ));
		if (res==null) {
			alert('Пользовательская функция удаления строки НЕ ВОЗВРАЩАЕТ РЕЗУЛЬТАТ!\n\nНеобходимо исправить!!!');
			return;
		}
		else if (res.split(" ")[ 0 ]== 0 ) {
			alert('Во время удаления строки произошла ошибка!\n'+res.substr( 2 ));
			return;
		}
		else if (res) {
			//если нормально удалилось в базе, то
			var colRow=this.getRowCount(); // кол-во строк
			var row=this.currRow- 1 ;
			//label
			this.dataSet.clientLabels.splice(row, 1 );
			this.dataSet.clientSize[ 1 ]--;
			//data
			for (var c= 0 ;c<this.getColumnCount();c++) {
				//удаляем элемент массива
				this.dataSet.clientData.splice(row, 1 );
				row+=(colRow- 1 );
			}
			this.dataSet.clientSize[ 0 ]--;
			this.dataSet.redim(this.dataSet.getDimensions(),this.dataSet.getDimSize( 1 ),this.dataSet.getDimSize( 2 ),this.dataSet.getDimSize( 3 ));
			this.render();
			this.setGridMode( 1 );
			this.focus();
		}
	}
	else alert('Необходима пользовательская функция (onDelRow) удаления строки!\nОна должна возвращать результат (0,1 или true,false)');
}
...
Рейтинг: 0 / 0
ZEN dynaGrid кто использует сей компонент?
    #36304198
CacheLot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ymka2007
если кому нужно код для удаления любой строки в dynaGrid на клиенте (удаление на сервере я думаю проблем не приносит ):


Пасиб, буду разбираться, как раз сам над этим думал, а можно заодно и код для удаления на сервере?! Тож в студию!
...
Рейтинг: 0 / 0
ZEN dynaGrid кто использует сей компонент?
    #36304503
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот то что я наваял:
переделанный dataCombo с возможностью вставки в dynaGrid
переделанный dynaGrid с возможностью минимальной настройки и работы, реализована работа функциональных клавиш (Esc,Ctrl+S,Del,Ins), а также визуальное отображение режима работы
правда на большом количестве строк в IE заметно подтормаживание ( если кто сможет помочь с ускорением буду очень благодарен ), мозила работает без тормозов (возможны некоторые прорехи)
ну и соотвественно рабочая страничка использующая весь джентельменский набор

если что могу попробавать все переложить на SAMPLES, что бы можно было реально потыкаться
...
Рейтинг: 0 / 0
ZEN dynaGrid кто использует сей компонент?
    #36304543
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
планирую добавить копи-паст строк, повесив их на события Ctrl+C и Ctrl+V соотвественно
если кто еще чего подскажет, то пожалуйста готов принять к сведению
...
Рейтинг: 0 / 0
ZEN dynaGrid кто использует сей компонент?
    #36305309
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
предыдущая версия dynaGrid корректно удаляла только в 2D
исправлен метод удаления, который отрабатывает и 2D и 3D конфигурацию
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
}
		else if (res) {
			//если нормально удалилось в базе, то			
			var countRow=this.getRowCount(); // кол-во строк
			var countColumn=this.getColumnCount();
			var currPage=this.currPage- 1 ;
			var row=(currPage> 0 )?(countRow*countColumn*currPage): 0 ;
			row+=this.currRow- 1 ;
			//label
			this.dataSet.clientLabels.splice(row, 1 );
			this.dataSet.clientSize[ 1 ]--;
			//data
			for (var c= 0 ;c<countColumn;c++) {
				//удаляем элемент массива
				this.dataSet.clientData.splice(row, 1 );
				row+=(countRow- 1 );
			}
			this.dataSet.clientSize[ 0 ]--;
			this.dataSet.redim(this.dataSet.getDimensions(),this.dataSet.getDimSize( 1 ),this.dataSet.getDimSize( 2 ),this.dataSet.getDimSize( 3 ));
			this.render();
			this.setGridMode( 1 );
			this.focus();
		}
говорите про ошибки
...
Рейтинг: 0 / 0
ZEN dynaGrid кто использует сей компонент?
    #36305325
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уже нашел и исправил
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
}
		else if (res) {
			//если нормально удалилось в базе, то			
			var countRow=this.getRowCount(); // кол-во строк
			var countColumn=this.getColumnCount();
			var currPage=this.currPage- 1 ;
			var row=(currPage> 0 )?(countRow*countColumn*currPage): 0 ;
			row+=this.currRow- 1 ;
			//label
			this.dataSet.clientLabels.splice(row, 1 );
			//data
			for (var c= 0 ;c<countColumn;c++) {
				//удаляем элемент массива
				this.dataSet.clientData.splice(row, 1 );
				row+=(countRow- 1 );
			}
			this.dataSet.clientSize[ 0 ]--;
			this.dataSet.redim(this.dataSet.getDimensions(),this.dataSet.getDimSize( 1 ),this.dataSet.getDimSize( 2 ),this.dataSet.getDimSize( 3 ));
			this.render();
			this.setGridMode( 1 );
			this.focus();
		}
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN dynaGrid кто использует сей компонент?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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