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

Фотография

devExpress wpf comboBox


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

#1 Egor_Co

Egor_Co

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

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

Отправлено 29 декабря 2011 - 15:01

Добрый день!
У меня возникла следующая проблема:
Есть devExpress wpf combo box в котором необходимо выбрать определенный Item. Дело в том что TestComplete не поддерживает данный контрол, в связи с этим не могу использовать некоторые функции(clickItem,selectItem...)
Подскажите плиз, как можно стандартными средствами выбрать нужный Item?
  • 0

#2 anagramma

anagramma

    Активный участник

  • Members
  • PipPip
  • 87 сообщений
  • Город:Moskow

Отправлено 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 - Имя (отображаемое, которое есть в комбобоксе)
  • 0

#3 Egor_Co

Egor_Co

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

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

Отправлено 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)              //этот метод просто игнорирует, может есть какой нибудь другой способ выбора?
      }
    
    }
'... 
}

но ничего не вышло(((

Помогите пожалуйста, уже как неделю мучаюсь(((
  • 0

#4 anagramma

anagramma

    Активный участник

  • Members
  • PipPip
  • 87 сообщений
  • Город:Moskow

Отправлено 10 января 2012 - 06:19

может у нас и не wpf контролы... (честно не знаю что значит wpf)

Попробуйте в проектных настройках Object Mapping ассоциировать класс вашего combobox с соответствующим DX комбобоксом.
  • 0

#5 Egor_Co

Egor_Co

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

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

Отправлено 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.



  • 0

#6 anagramma

anagramma

    Активный участник

  • Members
  • PipPip
  • 87 сообщений
  • Город:Moskow

Отправлено 13 января 2012 - 10:09

Ну неужели у него нет свойств типа Items, List, Properties или чего-то подобного?
Скриншот из ObjectBrowser сделайте и прикрепите сюда.
  • 0

#7 idunin

idunin

    Активный участник

  • Members
  • PipPip
  • 116 сообщений
  • ФИО:Илья Владимирович
  • Город:Москва


Отправлено 19 января 2012 - 12:32

Ну неужели у него нет свойств типа Items, List, Properties или чего-то подобного?
Скриншот из ObjectBrowser сделайте и прикрепите сюда.

Нету. Вчера только смотрели этот компонент. Он распознается не как единое целое, а как несколько компонентов. Сам ComboBox, у него PopupContainer и в контейнере CheckBoxItem. Мы пока не обнаружили стандартных средств, кроме координатного метода.

Так же используем Visual Studio UI Automation. Там такая же беда. Даже еще хуже. :)

Вам везет, раз не слышали про WPF. :)
  • 0

#8 Rebz

Rebz

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

  • Members
  • PipPipPipPip
  • 471 сообщений


Отправлено 20 января 2012 - 10:50


Ну неужели у него нет свойств типа Items, List, Properties или чего-то подобного?
Скриншот из ObjectBrowser сделайте и прикрепите сюда.

Нету. Вчера только смотрели этот компонент. Он распознается не как единое целое, а как несколько компонентов. Сам ComboBox, у него PopupContainer и в контейнере CheckBoxItem. Мы пока не обнаружили стандартных средств, кроме координатного метода.

Так же используем Visual Studio UI Automation. Там такая же беда. Даже еще хуже. :)

Вам везет, раз не слышали про WPF. :)

1) если в Вашей функции что-то не работает, используйте брейкопоинт. Можно будет понять почему count = 0, туда ли обращаетесь к объекту и т.д.
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

  • 0


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

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