датасет
методы датасета
Скрипты
Разработка

Возможность переопределить (заменить) метод датасета

Мне нужно переопределить метод GotoNext() датасета, чтобы он выполнял помимо стандартной своей функции еще одно дополнительное действие. Переопределение метода позволит избежать масштабных единообразных изменений в коде.

Есть ли такая возможность в Terrasoft 3.X?

Буду благодарен за примеры.

Нравится

4 комментария

Это не оно?

function ds_AccountOnDatasetBeforePositionChange(Dataset) {
	//TODO
}
 
function ds_AccountOnDatasetAfterPositionChange(Dataset) {
	//TODO
}

Или нужно во всех таблицах сразу?

"Зверев Александр" написал:Или нужно во всех таблицах сразу?

Это могут быть разные датасеты, не один какой-то конкретный, а какой попадется в тот момент.
В принципе, можно присвоить свой обработчик на событие AfterPositionChange.

Есть функция SetObjectEventDispatcher.

Пример в конфигурации:

//-------------------------------------
// wnd_MailTemplateLinkGridAreaScript
//-------------------------------------
 
...
 
 
function FillDataset(Dataset) {
...
}
 
 
function DoAdd() {
	var Dataset = MailTemplateLinkGridArea.ColumnsDataset;
	if (!Dataset) {
		Dataset = GetSingleItemByCode('mds_DictionaryTemplate', 
			'wnd_MailTemplateLinkGridAreaScript');
		Dataset.Caption = "Поле для связи сообщения";
		SetObjectEventDispatcher(Self, Dataset, Dataset.Name, 'OnDatasetAfterOpen',
			'FillDataset');
...
}

спасибо, пригодится

Показать все комментарии