Мне нужно переопределить метод GotoNext() датасета, чтобы он выполнял помимо стандартной своей функции еще одно дополнительное действие. Переопределение метода позволит избежать масштабных единообразных изменений в коде.
Есть ли такая возможность в Terrasoft 3.X?
Буду благодарен за примеры.
Нравится
Это не оно?
[javascript]
function ds_AccountOnDatasetBeforePositionChange(Dataset) {
//TODO
}
function ds_AccountOnDatasetAfterPositionChange(Dataset) {
//TODO
}
[/javascript]Или нужно во всех таблицах сразу?
"Зверев Александр" написал:Или нужно во всех таблицах сразу?
Это могут быть разные датасеты, не один какой-то конкретный, а какой попадется в тот момент.
В принципе, можно присвоить свой обработчик на событие AfterPositionChange.
Есть функция SetObjectEventDispatcher.
Пример в конфигурации:
[javascript]
//-------------------------------------
// 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');
...
}
[/javascript]