How to set columns width of smart table with annotations? - sapui5

I have a smart table and displaying the columns through the annotations.
However the number of columns is more, and the content is getting overlapped in the row.
Is it possible to control the width of these columns through annotations?

Change the tableType="Table" in smart table configuration. It will solve the overlapping problem.

Related

Does ag-grid supports column virtualization?

Its specially important in scenarios with lots of columns which most of them are not in viewable area.
Yes, as stated on the documentation,
By default the grid uses virtualisation; a technique whereby the grid
draws columns and rows as the user scrolls.
However, if you wish to disable column virtualization, you may choose to set the suppressColumnVirtualisation input property as true. You may refer to the column/row properties over here.
There may be 2 scenarios when you may wish to disable column virtualization.
1) Auto-sizing of all columns. This will ensure that all columns, and not just the columns which are rendered on the screen, will be resized.
2) Support for a11y. This is to prevent any potential issues for keyboard navigation and screen readers.

How to achieve auto width Column in sap.ui.table.Table?

I am using sap.ui.table.Table. This table has some very good feature but I am having a tough time to figure out how to set the column to auto width.
Currently, all the columns are fixed size but I want something if column A value is small, then auto adjust it rather than having fixed size. Same for if the column value is large, then adjust it to show the value.
I saw the other question sap.ui.table.Table how to optimize column widths but the answers there are to get column layout with fixed sizes, not auto width.
The control sap.ui.table.Column offers a property called autoResizable by which the user can resize the column width depending on the content of the column's template.
<Column
autoResizable="true"
...
From API Reference:
Enables auto-resizing of the column on double clicking the resize bar. The width is determined on the widest currently displayed content. It does not consider rows which are currently not scrolled into view.
However, as you can see, it requires user interaction. Doing it without user interaction programmatically can be achieved by using the (currently experimental) API autoResizeColumn from sap.ui.table.Table.
myTable.autoResizeColumn(/*ColumnIndex*/); // experimental!
Here is an example of both approaches: https://embed.plnkr.co/NQpkJo/.

How to fit with column to content

I need to fit the column width to the content of the column and allow scrolling horizontally.
I am using ag-grid with JavaScript
exist a way to do this? I always fund example using gridOptions.api.sizeColumnsToFit() but this will fit to the grid.
any help link?
Use columnApi.autoSizeColumns() not api.sizeColumnsToFit()

show each column in the cross-tab in different background color -Tableau

I am Creating a Cross-tab with Tableau Desktop 10.0.
I need to show each column in the cross-tab in different background color. How to do this tableau. I have read about a method using calculated columns, but i am looking for other options. Also is it possible differentiate each columns with a line?
Thanks for help
I'm not sure what you mean by calculated columns but the only way I know is to use a dummy Measure in the columns shelf and then place the actual measure you want on the Text pill. Set the marks to Bar and increase the size to full. Each Measure will have its own dummy Measure in the column shelf. Take a look at this example. https://dl.dropboxusercontent.com/u/60455118/160919%20stack%20question.twbx
As for differentiating each column with a line, you can do this by going Format > Borders > Column and adjust the Column Divider.

GTK+ 3: Restore TreeViewColumn widths without making them behave as if manually sized

I have a TreeView whose columns are all expandable with fixed-mode sizing. I would like to restore the widths of the columns when the user restarts the app. It seems that calling set_fixed_size is the way to do this, but:
If I set only the widths of the columns that the user resized, then the actual column widths end up different from what they were before.
If instead I set all column widths explicitly, then all columns behave as though they had been resized by the user, which is not ideal.
Is there a way to restore the column widths that gets around these problems?
It turns out that expand interferes with fixed_width. In my case, the solution was to set fixed_width and expand=false on columns that the user resized, and expand=true on the others.