Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN dynaGrid кто использует сей компонент? / 6 сообщений из 6, страница 1 из 1
11.11.2009, 12:14
    #36303479
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN dynaGrid кто использует сей компонент?
Всем привет, хотелось бы узнать кто и где использует компонент 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
11.11.2009, 15:23
    #36304198
CacheLot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN dynaGrid кто использует сей компонент?
Ymka2007
если кому нужно код для удаления любой строки в dynaGrid на клиенте (удаление на сервере я думаю проблем не приносит ):


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

если что могу попробавать все переложить на SAMPLES, что бы можно было реально потыкаться
...
Рейтинг: 0 / 0
11.11.2009, 16:59
    #36304543
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN dynaGrid кто использует сей компонент?
планирую добавить копи-паст строк, повесив их на события Ctrl+C и Ctrl+V соотвественно
если кто еще чего подскажет, то пожалуйста готов принять к сведению
...
Рейтинг: 0 / 0
11.11.2009, 22:21
    #36305309
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN dynaGrid кто использует сей компонент?
предыдущая версия 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
11.11.2009, 22:34
    #36305325
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN dynaGrid кто использует сей компонент?
уже нашел и исправил
Код: 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
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN dynaGrid кто использует сей компонент? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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