Variable table findrow method
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Variable table findrow method
Please i need help with create variable table method findrow.. i found in TC community code:
def search_in_table(name):
table = Project.Variables.yourTableVar
table.Reset() counter = 1 #consider that first row contains column names while not table.isEOF(): counter += 1 if table.Value["Name"] == name: Log.Message(counter) table.Next()
I need to rewrite it in a jscript or javascript. I tried it but it made mistakes.. 😞
My rewrite code with bugs..
function search_in_table(name){
var table = KeywordTests.Cenotvorba.Variables.DOKL_SLEVA_1;
table.reset(); // error
var counter = 1;
while (!table.isEOF()) { // error
counter += 1
if (table.Value["Name"] == name) //error
{
Log.Message(counter)
table.Next()
}
}
}
Solved! Go to Solution.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Could you link where exactly you got that snippet from so I could read it before commenting on it. Also, if you could share what error you're getting at those particular lines. Seems like your table variable has an issue.
Thanks
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Okay so I dont know what table.reset does I've never really used it. What I would do in your case is ( If you have your column number fixed which is not a great idea btw)
function FindDavid(){
table = Project.Variables.yourTableVar
for(var i=0; i<table.RowCount; i++){
var cell = table.cell(i,0) //whatever your column number is
if(cell.contentText == "David"){
return i;
}
}
}
Try this and let me know.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As using the word Table instead of Array i suspect is about DB table (so the reset and the isEOF).
Do you want to search in DB table or in array ?
On array, you have native Javascript functions that does all the job:
function TestFind() {
const jungle = [
{ name: "frog", threat: 0 },
{ name: "monkey", threat: 5 },
{ name: "gorilla", threat: 8 },
{ name: "lion", threat: 10 }
];
// break the object down in order to use .includes() or .indexOf()
const names = jungle.map(el => el.name); // returns ['frog', 'monkey', 'gorilla', 'lion']
Log.Message(names.includes("gorilla")); // returns true
Log.Message(names.indexOf("lion")); // returns 3 - which corresponds correctly assuming no sorting was done
// methods we can do on the array of objects
Log.Message(jungle.find(el => el.threat == 5)); // returns object - {name: "monkey", threat: 5}
Log.Message(jungle.filter(el => el.threat > 5)); // returns array - [{name: "gorilla", threat: 8}, {name: 'lion', threat: 10}]
}
It comes from this very good article here:
https://alligator.io/js/array-search-methods/
Un sourire et ça repart
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Awesome job Benoit, Reshail! Thank you for the efforts!
@David91 Please mark the best answer as a solution or let us know if you need more help with this 🙂
Sonya Mihaljova
Community and Education Specialist
