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

Фотография

Клик по ячейке в XtraGrid.GridControl


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

#1 Десятыч

Десятыч

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

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Кирилл

Отправлено 19 сентября 2011 - 13:05

TC 7.52
Приложение на C# c DevExpress 9.1
Имеется таблица в гриде. Грид – наследник «DevExpress.XtraGrid.GridControl»
Класс прописан в Tools>Default Project Properties>Project>Object Mapping. И ассоциируется с этим типом
В списке свойств Extended появились новые свойства. При записи действий скрипт пишется код, в котором упоминается номер строки и название столбца. Однако, этот же код TC не может выполнить:
var layoutControl;
var dfXtraGrid;
layoutControl = Aliases.mercury.MdiView.MdiClient.GuiMainWindow.layoutControl1.tabMain.XtraTabPage.Main.layoutControl1;
layoutControl.treeMain.wChildView(0).wChildView(1).ClickCell(2, "treeListColumn1");
dfXtraGrid = layoutControl.grdxMain;
dfXtraGrid.ClickCellXY(0, "Дата создания", 48, 9);

На этапе Клика TC ожидает какого-то окна и клик не происходит.
Пишет «Waiting Until Overlapped window becomes visible»

В логе записи:
Overlapping window
There was an attempt to perform an action at point (406, 375), which is overlapped by another window

В разделе Picture он показывает как раз ту табличку, по ячейке которой надо щёлкать
Если кто сталкивался, подскажите пожалуйста, что я делаю не так.
  • 0

#2 XXX

XXX

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

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 19 сентября 2011 - 14:08

может попробовать заново переопределить переменную layoutControl перед кликаньем?

var  layoutControl;
  var  dfXtraGrid;
  layoutControl = Aliases.mercury.MdiView.MdiClient.GuiMainWindow.layoutControl1.tabMain.XtraTabPage.Main.layoutControl1;
  layoutControl.treeMain.wChildView(0).wChildView(1).ClickCell(2, "treeListColumn1");
  layoutControl = Aliases.mercury.MdiView.MdiClient.GuiMainWindow.layoutControl1.tabMain.XtraTabPage.Main.layoutControl1;  
  dfXtraGrid = layoutControl.grdxMain;
  dfXtraGrid.ClickCellXY(0, "Дата создания", 48, 9);

  • 0

#3 Десятыч

Десятыч

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

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Кирилл

Отправлено 19 сентября 2011 - 15:41

может попробовать заново переопределить переменную layoutControl перед кликаньем?

var  layoutControl;
  var  dfXtraGrid;
  layoutControl = Aliases.mercury.MdiView.MdiClient.GuiMainWindow.layoutControl1.tabMain.XtraTabPage.Main.layoutControl1;
  layoutControl.treeMain.wChildView(0).wChildView(1).ClickCell(2, "treeListColumn1");
  layoutControl = Aliases.mercury.MdiView.MdiClient.GuiMainWindow.layoutControl1.tabMain.XtraTabPage.Main.layoutControl1;  
  dfXtraGrid = layoutControl.grdxMain;
  dfXtraGrid.ClickCellXY(0, "Дата создания", 48, 9);


На другой машине код записался чуть иначе и все заработало. Даже странно.
var dfXtraGrid;
dfXtraGrid = Aliases.mercury.MdiView.MdiClient.GuiMainWindow.layoutControl1.tabMain.XtraTabPage.Main.layoutControl1.grdxMain;
dfXtraGrid.ClickCell(0, "Дата создания");
  • 0


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

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