QTreeView set column size to content, no multiline (fixed row height) - qt

I have a QTreeView on my window and I want to set the following behaviour: columns width must be set to resize to contents, which I have done like this:
tabla->header()->setResizeMode(QHeaderView::ResizeToContents);
Now, what I need to do is set rows to only 1 line, so, if a column contains '\n', they should not be displayed (I have a detailed description dialog to see that).
To sum up, I need to set something like "no multiline" on my treeview.
Any help would be appreciated.
I'd rather not extend qtreeview, since I have a lot of thems and wouldn't like to change them all, but if that's what it takes...

QTreeView seems to ignore the newlines in contents when uniformRowHeights is true (seen with Qt-4.8)
This not documented, so normally it shouldn't be relied upon. It would be best to remove the newlines or replace them with spaces when populating the treeview.
Also, I've noticed an exception: if there is only one row in the treeview and it contains a newline, then it gets displayed in two lines, regardless of uniformRowHeights.

Related

Is possible to do a flex layout with Qt?

I want to make something like a gridlayout but the layout must decide how many elements can be fitted in a row, and when the row is full continue with the next row.
QtGridLayout also fixes the columns width.
I want to something like this (this pictures was manually organised in Horizontals and verticals grids)
When the image size changes one of the buttons goes to first row.
((In this compositions both images looks with the same size, but actually second one is wider than first one).
Some one answer this question but remove it, so the credits are for my unknown friend.
Qt have an example named Flow Layout Example for a widget based form and another for Graphics View widget.

BIRT Column Width not being Respected

I'm trying to create a BIRT report. The code and query side of it works just fine, but the display is rather wonky.
There's one column whose text contents are rather long, and instead of showing some text and allowing scrolling of the text (which is the behavior I'd like there), it simply shows up as a very vertically long text block; kinda ruins the report a bit. I've also tried setting the width on the column, but no dice there either. Any ideas?
Also, as an aside, how do I get the table's columns to have grid lines? I can do that on the rows, but I can't seem to figure out how to do that for the columns. If anyone has insight into that issue, it'd be appreciated.
Here's a screenshot of the issue
Here's my BIRT report XML, without headers and footers in order reduce characters
I think there is no way to use a scrollable view element inside your report, because the output by the default html-emitter is completely static (I would like to see a different answer if this should be wrong).
To your second Question about how to add a border to a column. Click into the cell of your table, click on "Border" inside the "Properties Editor" and select the borders you like to use. This should be repreated for all cells where you want to use the borders, because this configuration is not applied for a whole column but just for one cell. If you want a border for the whole column you need to setup the border for every cell in the column.
If you have already a data cell inside your table cell, you can use the outline view to select the table cell instead of the data cell:

RDLC reports not being centered

This is the screenshot of an RDLC report in my Visual Studio report designer
As you can see from the screenshot, my table is totally centered.
This is the screenshot of my report in running mode.
You can see that the table has moved to the right a bit.
I do not know why this is happening. I have set the CanGrow and CanShrink attribute of my individual columns to false, but I think my table body is growing.
It looks like email address length is the reason - it causes this column to expand. You can test this theory by removing record #4 from you report's data source.
Check that two things are set in properties:
click on containing Text Box and click F4. Make sure that "Can Grow" property is set to true (which most likely already is)
right click on containing Text Box and go to TextBox property window. Make sure that sizing option "Allow Height to increase" is checked ON (in General tab). This should push text in the column to wrap instead.
Do the same thing for all the columns that you anticipate longer text (like applicant name). Also, consider increasing initial width of this kind of columns to get more predictable formatting results.
Another thing to do is to remove all white space on the right and left of the table and setting all the margins to make page to be exactly 8.5 x 11 in total (if, for example, you are aiming to use letter page size). This would remove any "space to grow" for the table.

primefaces datatable width not rendering good

When I use a datatable and start shrinking my browser window, the datatable has a weird behavior. The center part (where the data is), doesn't shrink but the paginator does.
Here are some pics about the problem.
Thanks in advance.
It's because it can't break up the titles in your table header. If you would place spaces in between instead of using capital letters, it would break the title up and divide it over multiple lines.
If you don't have access to the table header's name (or the ability to change it), take a look at the word-wrap-property in CSS.

Flex - Hide DataGrid Columns and Show Header and Header Text

Is there a way to hide all the DataGrid columns, and not make them included in layout, and still show the header row along with its header text?
I was able to make the DataGrid columns not visible, and not included in layout, but that makes the header text no longer appear.
If no data comes back from the data provider, I want all the columns to disappear and then the header row still be visible along with its text.
Any helps is appreciated. If I cannot figure it out, I guess I will just not show the entire grid at all, but I really want the header row with its text to still be visible.
FYI - In the place of the grid columns, I have a message alert appear, which is why I still want the header row with its text, but I need to not have the columns included in the layout, or visible so I can display the alert message.
Thanks
A DataGrid allows you to set the rowCount, which is the number of visible rows. Note that the header row is considered a row, so if you want to show just the header, set the rowCount to 1. Hope that helps.

Resources