Getting text from grid colum while doing horizontal scrolling - automation

There is an angular grid and it has 25 columns. Now only 5 columns are visible on the page and to make other columns visible, I have to do horizontal scroll.
I want the text of all the column headers as grid keeps on scrolling horizontally across. any help from protractor experts?
This question has been asked many times but no solution yet.
Wrote below code but it is giving me the text of visible columns only.
var gridclass= $('.ui-grid-viewport');
var columnheader= $('.ui-grid-columns);
browser.executeScript("$(arguments[0]).scrollLeft(arguments[0].scrollLeft + 20)",gridclass.getWebElement());
columnheader.getText();
Expected: I should get the text of all the columns as grid keep on scrolling
Actual: I am getting the text of only visible columns on the page

Assuming .ui-grid-columns identifies the table row containing the all the column headers can you try using the inner text attribute like so
var columnheaders= $('.ui-grid-columns');
columnheaders.getAttribute('innerText')

Use getAttribute("textContent") instead of getText().

This issue could be due to DOM not render the whole page completely. You could try to set the resolution of browser bigger like 3840 x 2160, then getText() all column headers.

Related

Exporting the SSRS Report in pdf format is having blank page issues

In SSRS Report 2016, I have 2 tablixes. The 2nd tablix contains only 4 columns.
When I preview the report, It comes perfectly in one page but when I export the report in PDF format or click on the Print Layout button in the report, the whole 2nd table/tablix moves to the next page.
In my case, the sum (Body Width + Left margin + Right margin) is less than the resulting page width. I set keep_together property to false but the 2nd table keeps rendering on the new page. If the 2nd table has less content then it displays below the first table on the same page and if the content is a little bit large then the whole table shifted to the next page and if the content is too big then it starts displays on the 1st page below the first table on the same page and continues on next pages with the remaining content. All the thing is happening when I am exporting report in PDF format, not on report preview.
Any solution for this?
Do you have dynamic col grouping or hidden textboxes ? in this case you need to make sure that when all the col visible on the reports it must have sum of width and margins less than the reports width.
Cross check the report width from properties window sometimes it contains white spaces because of which this happens.
Check whether you have added a page break after the tablix. If you did, and if there is nothing else to show after the tablix, then it will display blank on the next page.
Another possible reason that may bring blank page is that there exists large white space between tablix and page footer.
Please try these points once. Hope it resolve your issue.

Table Viewer length Increases automatically under Section

I am newbie for the SWT and layouts. I have a Composite A inside that I have Section called "Table Contens" inside that i have another composite "Composite B" inside that I am using Table Viewer which uses TableColumnLayout.
All the composite and sections uses Grid layout and
GridData gridData = new GridData(GridData.FILL, GridData.FILL, true, false);
My problem is,First time the table will contains 5 rows, So the table size arranges accordingly.If i select another file it will be populated with 10 rows and comes with scrollable.
When i go to another tab and come back to this table viewer tab it refreshes the layout and the height of the viewer adjust for the 10 rows.
If I give height and width manually it is working GridData objectivesectiondata=new GridData(670,150);
But I want the table to resize based on the screen but i need to restrict the height of it.
I know i need to do something with the layout .But I dont know how to do it?
I am in need of this very much.Any Advice ?
THanks in advance
Specify the GridData heightHint value, something like:
GridData gridData = new GridData(GridData.FILL, GridData.FILL, true, false);
gridData.heightHint = 150;

Invisible column in GridX?

Is it possible to create a column in GridX that will be invisible and not rendered? I don't want to simply hide cells with CSS because it's not elegant and it can have side effects.
Invisible columns are usefull, because for example, in onApply event from cell editor, I become a row data that contains only those fields from dataStore, that are declared as column.
Is there such feature in GridX as invisible column?
I'm using Dojo 1.9 with GridX 1.2.
There is a hidden columns module:
gridx/modules/HiddenColumns (version 1.2)
Hide columns and change the column array at the same time so that other grid features are not affected by hidden columns. That means, hidden columns can no longer be accessed through grid.columns() function.
Update -
I played around with the test GridX here and the least width it goes up to is 20px. However this email from one of the developers actually suggests that this might not be possible at all!
Earlier -
Have you tried building the grid with ColumnResizer module, and, selecting the required column, and, using the setWidth() method to set the width to zero? - this does NOT work.

summary row for a grid in dojo

I Am looking for a Summary row or a Footer row for a grid where i can display total value of all column ,This footer row should not get scrolled(Virtically) .
Please Correct me if i am wrong .A Summary row for a Grid is not available in Dojo as a Default widget.
I Have achieved the above Summary row feature for Grid By
1) Adding a second grid only with Header Just below the Grid where you want footer row ,as a whole its look like a footer row to a Grid
Problems faced are
1) Column resizing i.e., when you resize any column in Grid 1 the same column in Grid 2(Grid with only Header ) must be resized
The above problem can be solved be capturing a resizing event in Grid 1 and propagating the event to Grid 2.
2) When you resize the column we will get Horizontal scroll Bar For both the Grids
Is there a way to propagate Horizontal scroll event from Grid 1 to Grid 2 so that when u scroll the Grid 1 then simultaneously Grid 2 has to get scrolled or how to get only one scroll for two Grids
Is there any other way to achive above feature for a grid .
I have achieved this by "stacking" the grids together. A primary data and footer grid. Use CSS to hide the heading of the footer grid. You have to use javascript to update the sums for the footer grid.
See demo and detailed reference
DoJo EnhancedGrid has a summary property that can be set, as described in the api documentation

Datagrid autoheight + lazy loading

I have a Dojo Datagrid which has 10 columns and about 400 records of data... it doesn't seem like that much but it is very very slow to scroll...
I have another Datagrid which has some 5k records and it scrolls faster. The only difference between the two is that for one I am specifying the height in pixels and have autoheight turned off...
For the smaller one, I couldn't use height = 100% to fill up its parent div because for some reason it doesn't like a percent height and doesn't even render the grid if I specify a percent height - I have to give it in pixels... if I use autoheight = true, then it fills up its parent div which is what I want but then it loads ALL data in the grid at once and so it doesn't do any lazy loading of the data.
Any ideas how to achieve lazy loading and still be able to use autoheight = true (or be able to expand the grid so that it always fills up the height of its parent div)?
Thanks
autoHeight can be set to a numeric value, which will define the maximum number of rows to display