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

Мне нужно переопределить метод 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');
...
}

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

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