We're using the Grid with CardView=true;
UltraGridBand band = ultraGridResults.DisplayLayout.Bands[0]; band.UseRowLayout = true; band.CardView = true; band.CardSettings.Style = CardStyle.Compressed; // band.CardSettings.CardScrollbars = CardScrollbars.None;//???
if GridRows do not fit into grid verically(sum of Row's heights > Grid.Height), grid automatically expands and scrolls Horizontally. Can grid be forced to expand vertically to prevent appearance of multiple columns on screen?
Thank You,
Mike
Hi Mike,
No, there's currently no way to do this with CardView. If you want vertical scrolling instead of Horizontal, maybe you would be better off just using RowLayouts without CardView.
This would mean losing the ability to Compress a row, but it might work out better for you.
Hello,
This is great advice. I tried something similar because I wanted to get a side view where the labels were on the left and the value on the right, but still keep the ability to have child bands. This works but when I have a table with 1 row with 20 columns, the verticle scrollbar never enables. The first row is too big to be on one screen. I tried setting the scrollbars to Auto, and Both. I also noticed that some of the columns get squished together in one row so row two ends up behind row 1. Any ideas? My psuedo code is below.
m_ultraGrid.DisplayLayout.Bands[0].UseRowLayout = true;
m_ultraGrid.DisplayLayout.Bands[0].RowLayoutLabelPosition =
LabelPosition.Left;
m_ultraGrid.DisplayLayout.Bands[0].Layout.Override.RowSelectorWidth = 20;
m_ultraGrid.DataSource = m_ultraGridSourceSet;
int i = 0;
foreach (UltraGridColumn uc in m_ultraGrid.DisplayLayout.Bands[0].Columns)
{
uc.RowLayoutColumnInfo.OriginX = 0;
uc.RowLayoutColumnInfo.OriginY = i;
uc.RowLayoutColumnInfo.LabelPosition =
}
By the way, I figured out the hidden row problem. I needed to set SpanX=2 and SpanY=1, but the scrolling is still an issue.
h2razik said:In your expert opinion is there a way to do some coding to create custom row scrolling functionality?
You could try to make the grid large enough to fit the entire row and then place the grid inside a scrollable container so that the user can scroll the whole grid. But there's no easy way to determine the height you will need.
Thank you for the prompt answer. We see this is a serious limitation as any time you have any row that is too tall for a single screen the data is not accessible. Using a Card View does allow us to get the view we need, but it does not allow you to have child bands. I did notice that the card view allows scrolling. In your expert opinion is there a way to do some coding to create custom row scrolling functionality? If not we'll resort to modifying the data sets to pivot and unpivot the data, but wanted to avoid this operation if possibe.
There's no way to do that. The grid's vertical scrolling is row-based. It will always scroll such that a row is flush against the top of the grid. So if you have a single row that is taller than the grid, there is no way to see the bottom of that row.