devExpress wpf comboBox
#1
Отправлено 29 декабря 2011 - 15:01
У меня возникла следующая проблема:
Есть devExpress wpf combo box в котором необходимо выбрать определенный Item. Дело в том что TestComplete не поддерживает данный контрол, в связи с этим не могу использовать некоторые функции(clickItem,selectItem...)
Подскажите плиз, как можно стандартными средствами выбрать нужный Item?
#2
Отправлено 29 декабря 2011 - 16:15
Function Set_cbo(cHandl , sItem) '... For i = 0 to cHandl.Items.Count -1 If cHandl.Items.Item(i).Locale.DisplayName.OleValue = sItem Then Call cHandl.set_SelectedIndex(i) Exit For End If Next '... End Function
cHandl - хэндл комбобокса , sItem - Имя (отображаемое, которое есть в комбобоксе)
#3
Отправлено 30 декабря 2011 - 13:26
Можно написать свою функцию. что-то типа
Function Set_cbo(cHandl , sItem) '... For i = 0 to cHandl.Items.Count -1 If cHandl.Items.Item(i).Locale.DisplayName.OleValue = sItem Then Call cHandl.set_SelectedIndex(i) Exit For End If Next '... End Function
cHandl - хэндл комбобокса , sItem - Имя (отображаемое, которое есть в комбобоксе)
________________________________________________________________________________________________________
Вот, каким образом я сделал:
function Set_cbo(cHandl , sItem) { '... count = cHandl["ItemsSource"]["Count"]-1; // cHandl.Items.Count не работает, выдает что Count = 0 for (i=0; i< count;i++) { if(cHandl["DisplayText"]["OleValue"] == sItem) { cHandl["set_SelectedIndex"](i) //этот метод просто игнорирует, может есть какой нибудь другой способ выбора? } } '... }
но ничего не вышло(((
Помогите пожалуйста, уже как неделю мучаюсь(((
#4
Отправлено 10 января 2012 - 06:19
Попробуйте в проектных настройках Object Mapping ассоциировать класс вашего combobox с соответствующим DX комбобоксом.
#5
Отправлено 13 января 2012 - 09:47
может у нас и не wpf контролы... (честно не знаю что значит wpf)
Попробуйте в проектных настройках Object Mapping ассоциировать класс вашего combobox с соответствующим DX комбобоксом.
Пробовал, так же обратился в тех поддержку, вот что мне ответили:
Unfortunately, TestComplete does not provide special support for the DevExpress.Xpf.Editors.ComboBoxEdit controls. You can find a list of the supported Developer Express controls here. You can vote for the DevExpress.Xpf.Editors.ComboBoxEdit controls in this survey.
#6
Отправлено 13 января 2012 - 10:09
Скриншот из ObjectBrowser сделайте и прикрепите сюда.
#7
Отправлено 19 января 2012 - 12:32
Нету. Вчера только смотрели этот компонент. Он распознается не как единое целое, а как несколько компонентов. Сам ComboBox, у него PopupContainer и в контейнере CheckBoxItem. Мы пока не обнаружили стандартных средств, кроме координатного метода.Ну неужели у него нет свойств типа Items, List, Properties или чего-то подобного?
Скриншот из ObjectBrowser сделайте и прикрепите сюда.
Так же используем Visual Studio UI Automation. Там такая же беда. Даже еще хуже. :)
Вам везет, раз не слышали про WPF. :)
#8
Отправлено 20 января 2012 - 10:50
1) если в Вашей функции что-то не работает, используйте брейкопоинт. Можно будет понять почему count = 0, туда ли обращаетесь к объекту и т.д.Нету. Вчера только смотрели этот компонент. Он распознается не как единое целое, а как несколько компонентов. Сам ComboBox, у него PopupContainer и в контейнере CheckBoxItem. Мы пока не обнаружили стандартных средств, кроме координатного метода.
Ну неужели у него нет свойств типа Items, List, Properties или чего-то подобного?
Скриншот из ObjectBrowser сделайте и прикрепите сюда.
Так же используем Visual Studio UI Automation. Там такая же беда. Даже еще хуже. :)
Вам везет, раз не слышали про WPF. :)
2) моя работа с комбобоксом на VBS (один из примеров реализации, вообще у меня несколько вариантов написано, некоторые работают через ViewModel)
Мб немного наворочено, но принцип, надеюсь, будет понятен.
sub SetComboBox(vObj,vComboBoxValue) f = 0 Call vObj.Click if vObj.Text="" then vObj.Keys("[Down]") else vObj.Keys("[Home]") end if if aqObject.IsSupported(vObj.ItemsSource, "Length") then vTotal = vObj.ItemsSource.Length else vTotal = vObj.ItemsSource.Count end if for i = 0 to vTotal if vObj.Text <> vComboBoxValue then vObj.Keys("[Down]") else Call log.Message("В комбобоксе выбрано значение """&vComboBoxValue&"""") f = 1 exit for end if next if f = 0 then Call Log.Error("Ошибка! Значения "&chr(34)&vComboBoxValue&chr(34)&" в комбобоксе не найдено!") vObj.Keys("[Del][Esc]") end if end sub
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных