I contribute to develop a wrapper for a bioinformatics program.
The program's output is quite long (dozens of pages if printed), but structured into sections.
I would like to add "next" and "previous" section buttons to facilitate jumping up and down in the output.
One way of doing this would involve parsing the complete output, adding "id" or "name" anchors and linking to neighboring sections using <a href="#section2"> type links. However, thats a pain in the butt to do, adds the potential of new bugs, and would slow down the display.
All sections start "in the same manner" (ie. if you control-F search for a specific text, you will jump to the next section). Is there an easy way of using the fact that all sections start with the same text to add links that will let you jump to the next one?
Cheers
Perhaps the jQuery ScrollTo plugin can help you. You could add the links you need for navigating by Javascript/jQuery after the page has loaded.
Related
I would like to embed another widget in one end of a GTK+ 3 text entry box, a bit like many browsers do with search or protocol security "chips":
I know I can set an icon on a text entry with
entry = Gtk.Entry()
entry.set_icon_from_icon_name(Gtk.EntryIconPosition.PRIMARY, icon_name)
Even if I pass my own GdkPixbuf to set_icon_from_pixbuf this still limits me to icon sizes, when I want some arbitrary size (at least horizontally) depending on the "chip" content.
I also tried to "shunt" the text over with set_margin_left, but this moved the left edge of the whole entry box over, rather than the text within the box.
What would be an effective way to embed some other GTK+ widget (hopefully of any complexity, so I can make the chip more interactive) within a text entry?
GtkEntry is not a container, so it cannot have child widgets.
The appropriate way to implement what you see in the screenshot is to use a separate container and style it appropriately.
Have you considered putting the entry inside a frame, and restyling stuff to make it look like it was inside an entry? Then you could use standard containers to put whatever widgets next to the text entry spaces that you wanted.
The downside is that clicking your "icon" doesn't focus the entry automatically, but it makes that action totally configurable.
I have a report created with Digital Metaphors ReportBuilder (VCL edition, in Delphi XE3).
It's an invoice, with header, detail and footer bands.
When the data fits in one page, all is well.
If I have more data, that fills, lets say for the sake of argument, 2 pages, I would requires:
Footer band only in the last page
On all other pages, the footer band should be replaced with only the running amount from the detail band, up until that page (from the first one).
On all but the first, the header should include the running totals of all previous pages.
Something like:
Page 1:
- (Header)
- Detail
- "Value until now: (Sum of one the the fields present in the detail band)"
Page 2:
- (Header)
- "Value until now: (Sum of one the the fields present in the detail band) of previous pages"
- Detail
- Footer
I've tried to investigate group totals, using a DBCalc component, but those aren't aware of the page. It only shows the total in the end, and not at the end of the page.
Any pointers of how I could do this?
Thank you
You will need to make some use of the Calc tab, in order to decide when you want certain bands to be shown or hidden. The Report has a PageNo property which you can use to decide when to show a header or a footer, in the header or footer's BeforePrint event.
As for showing a running total at the bottom of each page, you could use a ppRegion component (which is the ReportBuilder equivalent of a Panel). Again, you can use the BeforePrint event to decide when this shows.
The running totals themselves should be done using ppVariables. As you traverse through the data, add values into each variable that you need. Put these variables in the Region mentioned above, and they will display the value as it is at the end of each page. Timing can play a part here, so you may need to adjust the Variable's CalcType, ResetType, CalcComponent and ResetComponent properties to fit your needs.
I have been using ReportBuilder for almost 10 years and believe me, everything can be done, but some operations may just take time to perfect. We now use it exclusively in our software, both for the standard reports that we issue with our product (over 300) and for users to create their own reports.
I have an app with a ListView showing a list of summary items.
I've added print support, but I'm stuck on splitting my content into different pages.
I can add multiple pages, but I don't know how to split my content into pages based on page size.
Currently I have a xaml user control for my print content with a bound ItemsControl in it. I'd either like to bind to a list of just the items that will fit on the page, or move the top visible item position up based on the page number.
I'm not sure which is the best approach and I'm not sure how to do either.
The only paging example I could find in the docs was for a rich text block, which relies on the RichTextBlockOverflow control. I don't think that will help me.
How does DNN decide what items from the menu to put in the footer? On one of my portals, I see just "Home". On another one I see "Home" and the last menu item. On still another one, there is none. I understand that whether to put a footer or not might be dependent on the skin, but what decides which items to put there? Of the 3 portals I quoted, the first and the second one have the exact same skin.
The question comes from client requirement that we provide one of the menu items only in the footer and not the main menu. To boot, I don't know how the footer items are controlled. Your thoughts, please?
I'd like to create a content box with two tabs. Each tab is associated with a table which contain server-side data. My thought right now is just to load the page with 10 rows worth of data for each table and hide/display each table respectively to begin.
I was then going to toggle display of the tabbed content based on either click events on the tabs OR GET parameters relating to which tabbed content is being acted on (through pagination, for example).
Should I just handle this with UI tabs or is toggling display reasonable in this case? Since the user can update their data, I assume that caching via the tab UI isn't helpful in this case.
Thanks,
Brendan
From what I understood, I don't think its going to be overkill. If you are worried about performance, ten rows for 2 tables is just 20, which is not much. Paginating will also get 10 more rows for each 'click' so it's still good there.
Do use tab activation through click events, but also use GET parameters to know in which page the user currently is, from which tab.
Regarding caching data that you know will change, it might be unnecessary (see my 1st paragraph). Caching can sometimes become unwieldy, so don't add an uneccesary layer of complexity.
As someone who suggests simplicity above all else, I'd discard the whole 'tab loading' thing but leaving the tabs per se (i.e. the interface elements that will be clicked) and when the user clicks each tab, it takes to another page with the tabs too, old-fashioned style.