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 FunctioncHandl - хэндл комбобокса , 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 анонимных

