Eclipse Virtual TableViewer filtering and Sorting? [duplicate] - eclipse-rcp

Our application is an RCP appliction and needs to display table of several thousands items. For this reason, we're using SWT.VIRTUAL in our TableViewer. That works pretty well except for selection.
We're having following issue :
Our TableViewer support sorting and filtering. When we use a virtual tableviewer, changing the selection does not preserve the current selected item but the row currently selected.This leads to another item being selected.
e.g: If Item 'A' present at the 5th row is selected by user and sorting is performed, then after sorting the Item at the 5th row gets selected instead of the Item 'A'.
Using a non virtual TableViewer, everything works fine.
We tried to go into debug and found out that the cache from the AbstractTableViewer.VirtualManager class seems to be up to date with the model.
Forcing the cache to be used in the AbstractTableViewer.virtualSetSelectionToWidget() can be a possible approach.
We have tried to implement a solution suggested in https://bugs.eclipse.org/bugs/show_bug.cgi?id=338696. However it didn't work.
Please suggest some pointers or alternative work around.
Thanks for the answers.

As a workaround for working with huge tables I would suggest you to take a look at the Nattable project http://www.eclipse.org/nattable/. It supports everything you need (sorting, filtering, tree structured elements, lazy loading etc.). We successfully use it in our project, where it is necessary to display hundreds of thousands elements as a tree with around 160 columns. It also has some pretty cool styling features, which can make your table more user-friendly and interactive. Hope this helps

Related

Where is the overview of all work items (across all boards)

When, in Azure Devops, opening the Boards > Backlog page there is no possibility to have an overview of all work items accross all of the teams.
You see "All backlogs", but they are divided into the teams.
I want to see an overview of all work items for all these teams.
Is this possible?
You can just create a simple query:
Then you can format it as a flat list or tree.
But keep in mind that the limit for query results is 20000 items.
I want to see an overview of all work items for all these teams.
You can't do that using any of the regular azure boards (kanban board and sprint board).
The only way (well, the only way known to me) to do that is with Queries (Boards -> Queries). To see work items across projects, remember to check the Query across projects checkbox.
At your disposal you have myriads of fields that you can use to filter your results as well. Use them to fine tune your query result if you want. Last but not least, use Column options to specify which columns to show in your result. Since you want work items across projects, you may want to be able to see which project an item belongs to without opening the item. To do that, include the column Area path from Column options dialog. I use the following columns, and sort by ID descending.
Finally save the query.
Now go to Dashboard, click the Edit button, and add the Query Results widget. Configure that widget to use the query you just created. Note that by default, the column Area Path is not included in the Selected columns list on the right, but you have to include it yourself from the Available columns list on the left. Move columns up/down as you see fit.
Click Done editing when you are done. Through that widget you can edit the work items by clicking on the Title of each work item, which will open the item in a modal. You cannot reorder items (I suppose to set priority) on this widget itself, but hey, setting priority is just a few clicks away, so not a big deal. If you like, you can sort the query result using Priority, and after updating priority you should click Refresh to see the updated result.
Hope that helps!

Refer relevant K2 smart objects from different sources in a K2 view

I have recently started working on K2, so please take me as a starter on this one.
SmartObjects
1) I have a SharePoint Smart Object (SpSo1) which lists all vehicle details i.e. ID, make, model, specs etc.
2) And I have a SQL Server Smart Object (SqlSo1) where I am saving only the vehicle IDs against the ProcessInstance_Id.
View
The View is a Smart Object List View which is linked to SqlSo1. In the Edit Section, it has a picker control which is linked to SpSo1, and some DataLabel controls used to display selected vehicle specs. This View also contains the toolbar buttons i.e. Add, Edit, Delete Save, Refresh which execute their relevant functions using SqlSo1. The View also has a parameter called ProcessInstance_Id.
Working
When the view loads it should retrieve and load in the List Section (picker column) the list of all vehicle IDs from SqlSo1 saved against provided ProcessInstance_Id parameter. Simultaneously, against each vehicle ID loaded, it should also retrieve and load into the DataLabel columns the vehicle specifications from SpSo1 against each vehicle ID loaded.
The Edit Section in the View should allow to pick (in Picker control) and load (in DataLabel controls) vehicles using SpSo1 (which is achieved). Whereas the List Section should display data of vehicles retrieved from SqlSo1 such that Vehicle IDs retrieved from SqlSo1 and their other spec details retrieved from SpSo1 (Still to achieve and is the real question here).
Please help me in this regard. that would be so kind of you.
I have been finding difficulty resolving my issue that I raised here exactly a week ago but to the reality of this Forum I have not received even a single response from any of its gurus. and I have suffered at my work due to this.
I know I am quite new to K2 but you guys are gurus, you could have suggested at least something on my query.
Honestly, if StackOverflow is only to edit the posts and not suggest on the actual query then my suggestion to StackOverflow founders/CEOs is "SHUT IT DOWN".
Thank me.
to achieve that, you would need to add additional column to your view and to change it to List Display - where you would in turn change "Display" property of that control to show properties from SharePoint list.

How to create page break between elements inside list entry?

My Jasper Report has Detail element that holds List element. Every list entry of which contains number of tables.
I need to add page break between those tables.
The problem is that it is not possible to add line break. I am able to drag it between tables but the report stops working after adding it. It turns out that break is not supported in such places.
Is there a way to workaround this? Currently I'm thinking of adding some fake element that would consume some space but will be invisible, however it is not as simple.
I know it could be achieved by introducing sub-reports, but this requires complete redesign of my report so it is not an option for me.

Set Filemaker Pro layout to sort on leaving record

Actually, I want to unset it.
I'm fixing up an FMP database that's been around for years. Part of it is a layout that shows a table of scheduled events. Whenever I move from one record to another, it automatically sorts on two fields: StartDate and StartTime. I don't want it to do that anymore, but I can't find it to remove it.
I don't think it's a script. There is a SORT script in the database, but removing it did not stop the auto-sort behavior.
Check the SCRIPT TRIGGERS for the fields, i think you will find in "OnObjectsave" it calls script.
right click on the field > set script triggers
It sounds like a Script Trigger may be running on the layout. To find out:
In Layout mode, navigate to LAYOUTS > LAYOUT SETUP...
and then click the SCRIPT TRIGGERS tab. Layout script
triggers can only be configured one layout at a time.
More information on script triggers can be found here: http://help.filemaker.com/app/answers/detail/a_id/7465
Is this data from a related file/table? There might a "sort" criteria be defined in the relation.
Yes, I have this nagging problem also. The solution is found in Filemaker Help, topic = Sort, item = Options for Sorting Records. See next to last item in their instruction table (FM-12).
The setting causing automatic sorting is found in the Sort definition dialog that defines sort order for your layout. Somewhere in your script you defined a sort for your layout. OR, when creating the layout, you defined a sort order for it. Whichever, you need to find and open the Sort dialog box. Unselect "Keep records in Sorted Order." Otherwise, Filemaker will re-sort automatically.
Hope this helps.

newbie BIRT - layout - fields side-by-side for Address etc

I wanted to find out how to specify fields to appear side-by-side in BIRT layout e.g.- City State Zip in a address line. By default, it seems to put the fields one below another and I can't seem to find a way to reposition them side-by-side
BIRT 2.6.0 and Eclipse Helios
I would use a grid to control the placement of the controls on the page. BIRT uses a web design metaphor and as such things need to be placed explicitly on a page. When you are building a page in simple HTML you often need a table or some other structural element to control how one piece of text (or image) relates to another. BIRT is no different in this regard.
Good Luck!
Using a grid for this is not the right solution unless you actually want elements aligned into columns.
If you set the Display value of your Data elements to Inline instead of Block they will be displayed side by side on the same line exactly like you want.
I use BIRT 2.3.2, and it normally puts fields side-by-side, by default. This may be an issue to do with which report item type you are using to display your data - try using a table, rather than a list report item.
The BIRT does not follow the placement of element based upon the X, Y coordinate instead it used relative tabular layout. So, fields can only be placed in sequential manner. To align it perfectly, Grid control can be used with needed rows and columns and set the width and height of columns.
However, this is just a workaround to place the element, exact placement of element on absolute position is yet not available. May be in future release it could be added into the BIRT.