TC и датагрид
#1
Отправлено 03 февраля 2011 - 15:23
Имеется такой кусок скрипта:
var d;
for (d=0;d<5;d++)
{
switch(d)
{
case 0: orderTimeLoyaltyEdit["groupControl3"]["cbWeekDay"]["ClickItem"](0);
break;
case 1: orderTimeLoyaltyEdit["groupControl3"]["cbWeekDay"]["ClickItem"](1);
break;
case 2: orderTimeLoyaltyEdit["groupControl3"]["cbWeekDay"]["ClickItem"](2);
break;
case 3: orderTimeLoyaltyEdit["groupControl3"]["cbWeekDay"]["ClickItem"](3);
break;
case 4: orderTimeLoyaltyEdit["groupControl3"]["cbWeekDay"]["ClickItem"](4);
break;
}
groupControl = orderTimeLoyaltyEdit["groupControl3"];
textBoxMaskBox = groupControl["teFrom"]["TextBoxMaskBox"];
textBoxMaskBox["Click"](15, 5);
textBoxMaskBox["Keys"]("1100");
textBoxMaskBox["Keys"]("Enter");
textBoxMaskBox = groupControl["teTo"]["TextBoxMaskBox"];
textBoxMaskBox["Click"](8, 9);
textBoxMaskBox["Keys"]("1500");
groupControl["bAddDiapazon"]["ClickButton"]();
gridControl = groupControl["gridControl1"];
gridControl["ClickCell"](d, "Скидка, %");
textBoxMaskBox = gridControl["TextEdit"]["TextBoxMaskBox"]["wText"] = "80";
gridControl["Click"](424, 75);
}
orderTimeLoyaltyEdit["bOk"]["ClickButton"]();
Теперь, собственно, сам вопрос.
Почему ТС, когда проходит цикл второй раз, не видит объект TextBoxMaskBox при попытке записи в gridControl (предпоследняя строка в цикле) ? И как возможно решить эту проблему?
ps: Язык C#Script, ТС 7 версии
Заране благодарю
#2
Отправлено 03 февраля 2011 - 16:08
switch(d) { case 0: orderTimeLoyaltyEdit["groupControl3"]["cbWeekDay"]["ClickItem"](0); break; case 1: orderTimeLoyaltyEdit["groupControl3"]["cbWeekDay"]["ClickItem"](1); break; case 2: orderTimeLoyaltyEdit["groupControl3"]["cbWeekDay"]["ClickItem"](2); break; case 3: orderTimeLoyaltyEdit["groupControl3"]["cbWeekDay"]["ClickItem"](3); break; case 4: orderTimeLoyaltyEdit["groupControl3"]["cbWeekDay"]["ClickItem"](4); break; }на просто
orderTimeLoyaltyEdit["groupControl3"]["cbWeekDay"]["ClickItem"](d);
#3
Отправлено 03 февраля 2011 - 16:34
#4
Отправлено 03 февраля 2011 - 17:48
gridControl = groupControl["gridControl1"];
Попробуйте использовать мапирование объектов, т.е. разберитесь, где в gridControl1 использованы параметры объекта, которые меняются от цикла к циклу и замените их на неизменяемые параметры..
Как-то так..
#5
Отправлено 04 февраля 2011 - 08:09
надо избавиться от конкретных координат типа
объект.["Click"](424, 75);
а писать просто
объект.["Click"](); (или объект.["Click"]; ...просто не знаю точно синтаксис)
Это вообще ко всем методам Click относится.
скорее всего у Вас скрипт работает только с первым элементом т.к. Вы жестко прописали его координаты.
#6
Отправлено 04 февраля 2011 - 08:22
Может тоже и не в тему... но
надо избавиться от конкретных координат типа
объект.["Click"](424, 75);
а писать просто
объект.["Click"](); (или объект.["Click"]; ...просто не знаю точно синтаксис)
Это вообще ко всем методам Click относится.
скорее всего у Вас скрипт работает только с первым элементом т.к. Вы жестко прописали его координаты.
Спасибо, за совет. Вообще я всегда стараюсь так и делать, просто сейчас скинул кусок так сказать "сырого" скрипта. Плюс в данном случае метод Click у меня вызывается просто с целью переведения курсора с ячейки, описанной в строке: gridControl["ClickCell"](d, "Скидка, %"); на просто любую область датагрида. Это абсолютно не критичная строка. Но все равно спасибо
#7
Отправлено 04 февраля 2011 - 08:23
Предполагаю, что проблема в строке
gridControl = groupControl["gridControl1"];
Попробуйте использовать мапирование объектов, т.е. разберитесь, где в gridControl1 использованы параметры объекта, которые меняются от цикла к циклу и замените их на неизменяемые параметры..
Как-то так..
Спасибо, буду пробовать
#8
Отправлено 04 февраля 2011 - 12:24
Помогла замена записи
textBoxMaskBox1 = gridControl["TextEdit"]["TextBoxMaskBox"]["wText"] = "80";
на
rows = gridControl["wRowCount"];
gridControl["ClickCell"](d, "Скидка, %");
gridControl["wValue"](rows-1, "Скидка, %") = 80;
Всем спасибо, думаю, тему можно закрывать
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных