Показать сообщение отдельно
Старый 08.08.2008, 20:50   #3  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
675 / 517 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от altap Посмотреть сообщение
Вообщем на досуге посидел, надеюсь, что поможет.
В классе SysTableLookup модифицировал метод buildGrid к такому виду:
гут. аккурат то, что требовалось. как-то совсем забыл про возможность добраться до свежесозданного элемента формы через AOT. главное, чтоб не тормозило шибко при работе нескольких пользователей.

чуток переделал код:

в описании переменных добавил:

X++:
   //-->
TreeNode                        gridNode, controlNode, methodsNode;
MemberFunction                  newMethod;
str                             source = 'public int sort(SortOrder _sortDirection){; return 0;}';
TreeNodeIterator                iterator;
//<--
в конце стандартного метода buildGrid добавил:
...
X++:
    //-->
    gridNode = _form.AOTfindChild('Designs');
    gridNode = gridNode.AOTfindChild('Design');
    gridNode = gridNode.AOTfirstChild();
    iterator = gridNode.AOTiterator();
    controlNode = iterator.next(); //methods of the grid control!
    controlNode = iterator.next();
    for (i = 1; i <= conlen(lookupItems); i++)
    {
            methodsNode = controlNode.AOTfindChild('Methods');
            newMethod    = methodsNode.AOTadd('sort');
            newMethod.AOTsetSource(source, false);
            newMethod.AOTcompile(1);
            controlNode = iterator.next();
    }
    //<--
    return _formBuildGridControl;
}
большое спасибо!
__________________
Felix nihil admirari