Перейти к содержимому

Фотография

DevExpress ListTree Control


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 58

#41 Cirrus

Cirrus

    Новый участник

  • Members
  • Pip
  • 65 сообщений

Отправлено 07 ноября 2007 - 12:48

неа. Все выделятся...целиком, но ничего не чекается :(((( слушай, а может надо в самом TC в опциях что-нить специальное выставить ?!


А у тебя какой TC?
Предлагаю в 3-ий раз, пусть разработчики кинут это дерево на тестовую форму. Либо можешь мне кинуть часть кода (я так понимаю, C#). У меня что SetValue, что set_Item работают... нужно на твой конкретный пример смотреть!


У меня 5.14.
Да, видимо так надо будет сделать. Если уже все перепробовали.
  • 0

#42 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 07 ноября 2007 - 12:51

У меня 5.14.
Да, видимо так надо будет сделать. Если уже все перепробовали.


У меня TC6, но не думаю, что в этом дело. Жду твой контрол с нетерпением! :)
  • 0

#43 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 07 ноября 2007 - 14:03

ох
уже третья страница пошла

кстати, у меня метод set_Selected не работает. А это была первая мысль:
treeList.set_Selected(...)
treeList.Keys(" ")
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#44 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 07 ноября 2007 - 14:12

эээ, Cirrus, я так понимаю, что отчаяние достигло своего апофигея, раз вы запостили вопрос в ньюсгруппу AQA? =)
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#45 Cirrus

Cirrus

    Новый участник

  • Members
  • Pip
  • 65 сообщений

Отправлено 07 ноября 2007 - 14:30

эээ, Cirrus, я так понимаю, что отчаяние достигло своего апофигея, раз вы запостили вопрос в ньюсгруппу AQA? =)


Да просто реально уже затрахался пробовать разные шутки, да и вас напрягать. А сделать надо! :(((
  • 0

#46 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 07 ноября 2007 - 14:37

Да просто реально уже затрахался пробовать разные шутки, да и вас напрягать. А сделать надо! :(((


Собственно, форум для того и нужен, чтобы кого-то напрягать ;) Ждём форму...
  • 0

#47 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 07 ноября 2007 - 14:49

Кстати, альтернативный временный вариант - Tab переходы (или стрелками), а для установки флага - space ;)
  • 0

#48 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 07 ноября 2007 - 15:26

Кстати, альтернативный временный вариант - Tab переходы (или стрелками), а для установки флага - space ;)


Развивая тему:
1) В цикле идёшь вниз по второй колонке (Sys.Keys("[ Down ]")) и ищешь нужную тебе ноду
2) Как только находишь, стрелкой (Sys.Keys("[ Left ]")) переходишь на колонку с checkbox'ами и жмёшь space

Если времени не хватает, подобный вариант имеет право на жизнь!
  • 0

#49 Cirrus

Cirrus

    Новый участник

  • Members
  • Pip
  • 65 сообщений

Отправлено 07 ноября 2007 - 16:01

В AccessibilityObject.Bounds все по нулям, UIElement вообще нету, а в treeList нету Коллекции типа Items. =((


Если что, я тренировался на примере, который поставляется с эвалюэйшн версией ДевЭкспресса, раздел Explorer. Вот пример кода, который у меня работает
function Test17()
{
  Sys.Process("TreeListMainDemo").WinFormsObject("frmMain").Activate();
  var treeList = Sys.Process("TreeListMainDemo").WinFormsObject("frmMain").WinFormsObject("treeList1");
  Log.Message(treeList.Nodes.Item(0).GetValue(5));
  Log.Message(treeList.Nodes.Item(1).GetValue(5));
  treeList.Nodes.Item(1).SetValue(5, 0);
  BuiltIn.Delay(2000);
  treeList.Nodes.Item(1).SetValue(5, 1);  
}


Пока контрол создаю, чтобы вам показать, решил паралелльно попробовать на стандартом примере из ДевЭкспреса как Genka сделать...так вот. Запускаю я это демо (откомпилированное), цепляю его к TC, и в ObjectBrowser я не вижу treeList1, на том уровне иерархии, на котором Genka написал в своем примере. Т.е. он у меня глубже намного примерно так : см. скрин
Это нормально? Повторюсь у меня 5.14 версия и плагины стоят всякие.

Прикрепленные файлы

  • Прикрепленный файл  2.JPG   159,71К   23 Количество загрузок:

  • 0

#50 Cirrus

Cirrus

    Новый участник

  • Members
  • Pip
  • 65 сообщений

Отправлено 07 ноября 2007 - 16:08

Кстати, альтернативный временный вариант - Tab переходы (или стрелками), а для установки флага - space ;)


Развивая тему:
1) В цикле идёшь вниз по второй колонке (Sys.Keys("[ Down ]")) и ищешь нужную тебе ноду
2) Как только находишь, стрелкой (Sys.Keys("[ Left ]")) переходишь на колонку с checkbox'ами и жмёшь space

Если времени не хватает, подобный вариант имеет право на жизнь!

Спасиб. Чего-то не сообразил сам. Завтра попробую реализовать.
  • 0

#51 Cirrus

Cirrus

    Новый участник

  • Members
  • Pip
  • 65 сообщений

Отправлено 07 ноября 2007 - 16:10

В AccessibilityObject.Bounds все по нулям, UIElement вообще нету, а в treeList нету Коллекции типа Items. =((


Если что, я тренировался на примере, который поставляется с эвалюэйшн версией ДевЭкспресса, раздел Explorer. Вот пример кода, который у меня работает


Я тоже сделал...все работает! Блин...странно все как-то. Видимо действительно косяк какой-то в моей форме ? Хм.........
  • 0

#52 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 07 ноября 2007 - 16:39

так вот. Запускаю я это демо (откомпилированное), цепляю его к TC, и в ObjectBrowser я не вижу treeList1, на том уровне иерархии, на котором Genka написал в своем примере. Т.е. он у меня глубже намного примерно так : см. скрин
Это нормально? Повторюсь у меня 5.14 версия и плагины стоят всякие.


нормально
у меня Object Tree Model установлен в Flat, а у вас в Tree (правый клик на имени проекта -> Edit -> Properties -> General )

оно зависит от ситуации и от приложения

мне удобно вот так
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#53 Cirrus

Cirrus

    Новый участник

  • Members
  • Pip
  • 65 сообщений

Отправлено 07 ноября 2007 - 21:50

так вот. Запускаю я это демо (откомпилированное), цепляю его к TC, и в ObjectBrowser я не вижу treeList1, на том уровне иерархии, на котором Genka написал в своем примере. Т.е. он у меня глубже намного примерно так : см. скрин
Это нормально? Повторюсь у меня 5.14 версия и плагины стоят всякие.


нормально
у меня Object Tree Model установлен в Flat, а у вас в Tree (правый клик на имени проекта -> Edit -> Properties -> General )

оно зависит от ситуации и от приложения

мне удобно вот так


А можно по подробнее несколько основываясь на вашем опыте. Когда стоит ту или другую модель использовать ? Я так понимаю, что если Flat то все объекты будут на одном уровне находиться, и не будет ярко выраженной иерархии...но зато короче обращаться к объектам.
  • 0

#54 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 08 ноября 2007 - 09:58

А можно по подробнее несколько основываясь на вашем опыте. Когда стоит ту или другую модель использовать ? Я так понимаю, что если Flat то все объекты будут на одном уровне находиться, и не будет ярко выраженной иерархии...но зато короче обращаться к объектам.


Да, именно так. модель Flat лучше использовать для небольших приложений, так как в них обычно немного контролов и с ними легко работать.

Модель Tree нужна для больших приложений, но там возникает другая проблема: с объектами трудно работать, так как путь к ним становится просто огромным. Так что если выбирать этот вид, то лучше использовать Name Mapping.

Но и тут есть проблема Name Mapping позволяет задать свои имена объектам и они становятся короткими и понятными, но не позволяет задать свою иерархию объектов. Тогжа можно использовать Aliases

Но и тут есть проблема! :) Например, я пытался использовать Aliases с Delphi приложением и работало это все очень медленно (а, к примеру, у нас в соседнем отделе с веб приложением работает просто отлично).

Список "Но и тут есть проблема" можно еще продолжать, но я пока остановлюсь.

В общем пробовать надо, что тут еще скажешь?
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#55 Cirrus

Cirrus

    Новый участник

  • Members
  • Pip
  • 65 сообщений

Отправлено 08 ноября 2007 - 16:52

Привет.

В общем контрол сказали, что класть не будут...самому надо ковыряться.
Наткнулся на другом диалоге тоже на контрол от DevExp. ТОже вроде treeList. Выглядет он типа : см. аттач

Дела обстоят с ним так.
Все ячейки редактируемые, т.е. надо проверять их и изменения отображаются сразу на previewPanel. Т.е. (если допустить что я юзер =) ) Click на ячейке, пишу новый тип, и сразу вижу как он будет выглядет, допустим в будущем на отчете...
Если было сначала Toys, а я меняю на Apple, то на previewPanel слово Toys заменится на Apple. Не подумайте только что я как для дураков пишу =)) стараюсь подробнее все расписать.

Что получается...иду в Nodes, Items, у Items есть prorepty - Data и Tag. Оба имеют одинаковые методы. Ну я и пробую менять Toys на Apple.

w3 = signatureWindow["WinFormsObject"]("myParametersGroupBox")["WinFormsObject"]("myGridPanel")["WinFormsObject"]("ParametersListControl", "");
w3.Nodes.Item(2).Data.set_TypeName("Apple");
w3.Nodes.Item(2).Tag.set_TypeName("Apple");

Так вот в чем проблема...он вроде меняет!!!!!!! т.е. на previewPanel я вижу слово Apple, а вот сама ячейка на форме остается пустой. И я никак не могу понять почему я не вижу. Вроде все свойства которые связаны с Visible имеют true значение.

Прикрепленные файлы

  • Прикрепленный файл  3.JPG   10,83К   28 Количество загрузок:

  • 0

#56 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 08 ноября 2007 - 17:32

Так вот в чем проблема...он вроде меняет!!!!!!! т.е. на previewPanel я вижу слово Apple, а вот сама ячейка на форме остается пустой. И я никак не могу понять почему я не вижу. Вроде все свойства которые связаны с Visible имеют true значение.


тут такое дело... если оно не синхронизируется, то возможно в этом триЛисте есть обработка события OnDataEntered (ну или типа того). Конечно, можно напрямую вогнать данные в соответствующие ячейки грида (я так когда-то СилкТестом слово неприличное в read-only ячейку вписал и радовался :good: ), но при этом непонятно, как будет себя вести дальше приложение.

Т.е. скорее всего надо так: находить координаты, кликать туда, а потом вписывать, что надо (ну или в вашем случае кликать чтобы изменить значение чекбокса)

И, кстати, вам там в ньюсгруппе ответили...
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#57 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 08 ноября 2007 - 18:40

если оно не синхронизируется, то возможно в этом триЛисте есть обработка события OnDataEntered (ну или типа того)
...
Т.е. скорее всего надо так: находить координаты, кликать туда, а потом вписывать, что надо (ну или в вашем случае кликать чтобы изменить значение чекбокса)


Вариант с событием (точнее, с его не срабатыванием) похож на правду. Только мой вариант, использовать не координаты и клик, а Keys("[Enter]") (если нужная ячейка выделена).

И, кстати, вам там в ньюсгруппе ответили...


Прочитал ответ и мне непонятно следующее:

The second parameter of the SetValue method accepts the value of the CheckState enumeration type, so you cannot pass a Boolean value.


Точнее, понятно, только я с этим слегка не согласен (к тому же, у меня его вариант не работает).
  • 0

#58 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 08 ноября 2007 - 18:45

В общем контрол сказали, что класть не будут...


Улыбнуло :) Работы от силы 10-15 минут... знакомое отношение к автоматизации...
  • 0

#59 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 16 ноября 2007 - 01:38

Есть успехи?
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных