When drilling down, how to retrieve the parent? - iccube-reporting

In a dimension I have
1st layer > 2nd layer
I display a chart with values from 1st layer and drilling down to 2nd layer when clicked on.
Once clicked, the graph displays value for the children, so 2nd layer only.
How do I retrieve and display the 1st layer that was clicked on ?

Charts can generate iccube-events for a couple of js events (I guess here on row click).
Check the image below :
Edit:
For a bar chart, use "On Navigate" event.

Related

Roku-Create Selectable List

I am in the process of making a Roku channel. The idea is to have a full screen player going, if the user presses a particular button on remote, a small pop up menu will display in a corner of the screen with a list of available channels. I have all working with the following exception: I can't figure out how to populate the area where the menu displays. Currently I have a transparent roImageCanvas on layer 1, the menu box is drawn on layer 2. The problem is that roImageCanvas allows for a text element but only one Item. So if I have a list of 10 channels, I would have to create 10 items on the canvas. The roImageCanvas does not accept arrays. So there is no way to create the pop menu on the fly if the number of channels changes. The number of items on the canvas has to be hard coded as far as I can tell. Ideally the roListScreen is what I would like to pop up but from what I understand all screens are full screen all the time. Does anybody know of a way to populate the targetbox on the canvas or create a screen that is resizable? Thanks for any suggestions
A roImageCanvas layer is an array. There is no technical limitation to you adding >1 elements to a layer and so you can add as many separate text items as you want (not hard-coded!). It seems to me best to have 1 text element per 1 menu item, so you can use their bounding rectangles (or text color) to highlight the choice

Add Four buttons in a panel in MFC Ribbon

I want to add 4 navigation button in a panel. For Go to First page , previous page, next page, last page [<< < >> >]. I want these buttons in a row but MFC automatically put them in a column. Is there a work around to achieve this.
Thanks
Did you associate these buttons with large (32x32) images? Otherwise, the MFC Ribbon is always trying to put them into the column. In addition, you've to call SetAlwaysLargeImage method for each button to prevent button size decreasing when the frame is being resized.
Regards,
Rob

How to determine when at the bottom / end of a QListView?

I'm using a QListView which wraps a very simple list model. I would like to try implementing something similar to the "infinite scroll" seen in some web pages.
Currently the model is updated by a method which adds at most 100 items (they're taken from an external web API which takes at most 100 items per call). My goal: when the user moves to the last element of the list view (in my case, by scrolling down) I would like to start a call to get up to 100 more items, and so on.
To simplify in this example:
Populate the list with 100 items
View scrolled down (by user) to the bottom
Other 100 items fetched.
Is there anything in QListView that tells me when I'm at the end of the visible view?
QListView is a subclass of QAbstractScrollArea, so one way of finding out if the vertical scroll bar's position is at one of its extremes is to:
Get the QScrollBar object used by QListView by calling verticalScrollBar().
Connect the sliderMoved(int value) signal of the scroll bar to a slot of your choice.
In the slot, fetch the min/max values of the scroll bar and compare them to the value given in the signal.

Infragistics Ultragrid Design Mode Keeps Adding RowScrollRegions

I've got a multi-band ultragrid with an ultragridrowedittemplate per band.
In Design view the ultragrid is showing several horizontal lines - which can each be dragged downwards to show a view of the ultragrid bands. After much searching I discovered they are row scroll regions and I've added in some code into the form initialisation procedure to remove these row scroll regions.
That was fine at first, but the ultragrid, over time has added more and more row scroll regions to itself - and when the application is now loaded it takes more and more time for the code to run to remove all these regions.
Is there a setting in the Design mode that stops these row scroll regions being added? I haven't noticed a pattern to when they are added. If someone could explain/help this will be much appreciated!
Thank you
In design mode drag the divider to the top of the grid to remove them. To create them there should be a handle just above the scroll bar that you can grab and drag down. If you want to prevent them from being created at design time or run time, set DisplayLayout.MaxRowScrollRegions to 1.
Note that you may also want to set DisplayLayout.MaxColScrollRegions to 1 as well if you don't want either row or col scroll regions. To remove ColScrollRegions, drag the divider to the left of the grid to remove them. There is a handle to the left of the scroll bar if you want to add them back.

How to edit columns in-place with CListCtrl?

I want to have CListCtrl.EditLabel() for any column of the list. How can I implement such a feature?
This is doable but it does require a fair bit of stuffing around with mouse clicks and focus events.
In a nutshell you trap the left mouse button down message and convert it into a cell hit details (i.e a row and column index).
With these cell details you can not determine the size and location of the list view cell and also the text value that it contains.
Now create a CEdit control directly over this cell by using size and location details from the previous step and give it the text value of the cell.
The final step is to handle the focus and keyboard enter events for the CEdit so that the text details of the CEdit can be put back into the list view cell.
It does take a fair amount of coding but when done right it does work well as an alternative to a grid control.
Don't attempt with CListCtrl.
Use the MFC Grid Control. We deploy it in an off-the-shelf app with success. It offers in-place edit, checkbox, spin, etc for all cells, as well as column and row headers, auto-size, auto-expand, colors, drag-drop.