![]() |
#2 |
MCTS
|
Вообщем на досуге посидел, надеюсь, что поможет.
В классе SysTableLookup модифицировал метод buildGrid к такому виду: X++: protected FormBuildGridControl buildGrid(FormBuildGridControl _formBuildGridControl, FormBuildDataSource _formBuildDataSource, Form form) //передаем форму в метод для поиска ее ноды { FormBuildControl formBuildControl; Object obj; boolean returnItem; boolean method; int fieldId; int i, j; //--> TreeNode gridNode, controlNode, methodsNode; MemberFunction newMethod; str source; TreeNodeIterator iterator; //<-- ; for (i = 1; i <= conlen(lookupItems); i++) { [fieldId, returnItem, method] = conpeek(lookupItems, i); if (!method) { formBuildControl = _formBuildGridControl.addDataField(_formBuildDataSource.id(), fieldId); if (i == 1 || returnItem) { controlIdx = formBuildControl.id(); lookupField = fieldId; } obj = formBuildControl; if (labels[i]) { obj = formBuildControl; obj.label(labels[i]); } //Дойдем до созданного контрола gridNode = form.AOTfindChild('Designs'); gridNode = gridNode.AOTfindChild('Design'); gridNode = gridNode.AOTfirstChild(); iterator = gridNode.AOTiterator(); controlNode = iterator.next(); while (controlNode) { If (controlNode.AOTname() == obj.name()) break; controlNode = iterator.next(); } //Перекроем метод sort methodsNode = controlNode.AOTfindChild('Methods'); methodsNode.AOTadd('sort'); newMethod = methodsNode.aotfindChild('sort'); source = 'public int sort(SortOrder _sortDirection) ' + '{ ' + ' ; ' + ' return 0; ' + '}'; newMethod.AOTsetSource(source, false); //Откомпилируем новый метод newMethod.AOTcompile(1); } } return _formBuildGridControl; } Вдохновило это Последний раз редактировалось altap; 08.08.2008 в 16:13. |
|
|
За это сообщение автора поблагодарили: wojzeh (1). |