How can I loop thru all changed columns in a sharepoint list.
I use the
TRIGGER "When a item or file is modified" and then the
ACTION "Get changes for an item or a file (properties only)"
I thought I can loop thru the dynamic content "Column has changed" (A Collection showing which columns have changed)
But this is not a list of changed columns, this is a Object with all columns in the SP-List an a Status "true" or "false" if it is changed or not.
What I want to do, is to loop thru all changed columns and use SWITCH to define next steps per column.
Unfortunately there is no graceful way to do this as of now. However you can achieve this by keeping a reference of all your columns from SharePoint list.
Initialise an array variable ColumnNames and fill all your column names from SP list as it's input. I am taking top 4 columns from your setup. ID, Title, Ticketno, Service_Type
Initialise 2nd Array variable ChangedColumns to collect your changed column names. See the first image below.
Now use a for loop and iterate over ColumnNames and put a condition to check if current item (which will be the column name) value is true or not. If that's true then add it to ChangedColumns array, which we initialised to collect changed column names. The expression you need to use in condition is written as comments in the image itself.
Related
I have two data blocks with two tables(with fields on forms).
How to save records of one table(column values of table one) to second table by setting property pallet.
I have tried by giving where conditions in data block 2 property pallet but it is not saving records to table two
by setting property pallet
Looks like you want to use the 1st block's values in the 2nd block. To do that - using the Property Palette - navigate to any block 2 item and check Data set of properties, especially
copy value from item
synchronize with item
When you're on that particular property, press F1 on the keyboard to read what they do, and then pick the one you find the most appropriate.
You'll have to set that property for every block 2 item, of course - one by one.
I have two database Datablock
In the First Block I have a Item called parameter name with LOV. While selecting that LOV ,it should populate Next Item Also that is Section
Now What i want is when I am selecting the Parameter name LOV from First Data Block. I want to populate the corresponding data in the list Value of the Second Data Block
For this i used post text item -->Inside that I used go block But it throws illegal restriction Error
Now I am out of ideas
If I understood you correctly, you're talking about cascading LoVs. If that's so, then the 1st LoV query looks like this:
select parameter_name, section
from some_table
where some_condition;
You set it to populate appropriate fields in the 1st data block (one of them is :block_1.parameter_name).
The second block's LoV would then "reference" the first block's field:
select another_column
from another_table
where parameter_name = :block_1.parameter_name --> this
and other_conditions;
You don't need any triggers; once you display 2nd block field's list of values, it'll use that where clause and display only values that match the condition.
Everything except for the name may or may not be different, but it doesn't matter.
How do you make it so the name and address (first column) can only show once if the value on multiple rows is the same? There is no way to merge the rows together due to the numbers of rows being generated from a group expression. But if there is another way to merge then can someone tell me how to do it? If not, then is there at least a way to blank out the second and third repeating names (and address)?
This is how you hide repeating values in a tablix column.
In design mode, click on the detail cell that you want to keep from repeating if the values are the same. In this case, you are referring to that one as the name and address column.
Look for the HideDuplicates property in the Properties pane. Set the value to the name of the dataset the tablix is using.
Now, when you run the report, that value should only show once. The other rows where the value had been repeating will be blank in that cell.
Set the borders appropriately (none, or solid) to make it look like the cells are merged. Doing the above alone will not merge the cells. Only a row group will do that.
I have created a field which is able to support for "multiple value" . In the Lotus Notes view, I have enabled an option "Show multiple values as separate entries" in order to show separate entry of the each value. Noticed that the Lotus Notes view is unable to show all the values in separate entries. Do you have any ideal?
Option "Show multiple values as separate entries" shows only unique values in column.
Some of your values are several times in your list like "26" and "462". They show up in column only one time. Think of this option like a categorized column. Multiple identical values are connected to one.
If you really need to show all values then here is a workaround:
Create a second unsorted column right after your column with the formula
#Transform(list; ""; #Random)
This will create a unique random value for every entry in your list.
Hide the second column. Your original column will show all values now.
How to check whether a column was deleted completely in a webtable using VB script?
I've created a row in a webtable and deleted it. I'd like to check whether the column is deleted from that webtable or not. I've written a script and having a tough time to write the logic. I can get complete row count from a webtable and can loop through one by one. But how to check whether that column was deleted from the webtab?
rowCount = SwfWindow(obj).SwfTable(tbl).RowCount
For i = 0 To rowCount - 1
names = SwfWindow(obj).SwfTable(tbl).GetCellData(i, 1)
If names = mycolname 'mycolname is the name of the column deleted Then
SwfWindow(obj).SwfTable(tbl).ClickCell i,1
Print "col name is present in the table"
Exit for
else
Print "col name is deleted completely from the table"
End If
Next
How do you want to identify the column? Probably by name. (The code shown in the question indexes by numeric index.)
It then depends on the webtable´s structure:
There is a WebTable runtime property returning the name of all columns in a string separated by a semicolon; iterate over the components of this string and query their names in the loop. If you find the to-be-deleted column in the process, it is still present, if not, it´s deleted.
See http://www.sqaforums.com/forums/hp-unified-functional-testing-uft-mercury-quicktest-pro-qtp/148239-qtp-function-web-table-get-column-number-giving-column-name.html for an example.
Sometimes, the table is organized a bit different, and the getROProperty call returns garbage. Then, you usually find the column names as cell data in row 1. There, you would need to iterate over the columns and use getCellData to look at the column name.
As pointed out by #TheBlastOne, the table you see in the AUT (application under test) does not necessarily tell the whole truth about how it is actually structured. The following is a neat trick, which should work for both WebTable and swfTable, to be able to see the actual structure of a table:
When you have both the AUT and QTP open, click the "Record" button in QTP
Choose to start recording on the open application
On the toolbar menu in QTP, select "Insert" --> "Checkpoint" --> "Standard Checkpoint" and click on the table in the AUT
A new window should now have opened, which, among other things, shows you exactly how the table is structured, i.e. row indexes and/or names, column indexes and/or names, etc.