I'm using QTP 9.2 with TestAdvantage 2006 v2 CLR 1.x and I would like to know how I can determine if a cell in an UltraGrid has a status of "Allow Edit" or "No Edit". Certain cells in the grid of our application should have a status of "Allow Edit" all of the time, while other cells should have a status of "No Edit" only in certain instances, so I'm trying to check those in my test scripts.
I've spied on the grid with the .Net Object Spy and found the following: Display Layout > Bands > 0 > Columns > (Column Name) > Row Layout Column Info > Column > Cell Activation > AllowEdit, which I assume is the property I'm needing, but I'm not sure of the syntax for my test scripts to return that property. Here is an example of my scripts, but I'm obviously doing something wrong as when I message box the second line, I get an empty message:
SwfWindow("Company Name").SwfWindow("Purchase Order for Branch").SwfTable("ultraGrid1").ActivateCell "0","QuantityReceived"
SwfWindow("Company Name").SwfWindow("Purchase Order for Branch").SwfTable("ultraGrid1").GetROProperty ("CellActivation", "AllowEdit")
I've only been using TestAdvantage with QTP for about a year, so any help will be appreciated. Thank you!
Hi Dennis,
Use the following line after "ActivateCell" method call
CellActivation = SwfWindow("Company Name").SwfWindow("Purchase Order for Branch").SwfTable("ultraGrid1").GetNAProperty("ActiveCell.Column.CellActivation")
This return an Enumeration as follow:
AllowEdit = 0,
ActivateOnly = 1,
Disabled = 2,
NoEdit = 3,
Hope that is helpful.
Regards,
Ammar
Hi Ammar,
That worked like a charm. Thank you for your help!
Dennis
In TestAdvantge 2007 Vol 3 this code will work ? if not please provde me piece of code for TD 2007 Vol.3.
We are getting the SwfTable grid data with below code but unfortunalty we unable to select or click that cell or row.
How can i select or click that Cell or row.
Please help in this regard.
msgbox rowCollection.item(iLoop).Cells.Item(2).Text
Next
Hi ,
Im facing the following problem with an SwfTable
I have a listbox in each cell of the SwfTable.I have to select an item from the list in each cell of the SwfTable.
I used the Select Cell and Activate Cell but its throwing Run time error. Can someone help me!!!
If you record selection the item from the list inside the cell then move out of the edited cell you will see that "SetCellData" action will be recorded. This action sets the value property of the grid's cell. There is no action to act on the embedded combo, in fact the embedded combo cannot be added as a test object because its embedded inside the grid cell. However you can try to simulate the action using generic keyboard actions:
SwfWindow("...").SwfTable("ultraGrid1").ActivateRow "1"SwfWindow("...").SwfTable("ultraGrid1").ActivateCell "1","Item"
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{F2}"WshShell.SendKeys "{ALT+Down Arrow}"WshShell.SendKeys "..." ' a number of arrow to select the right item, or if the combo support type and auto complete then type the item text you want to selectWshShell.SendKeys "{TAB}" ' to move out of the edited cell so that the next cell Combo is populated.
Hope that will help.