I have an application using xamWebGrid and in the demo configuration it displays just 357 rows. The data are instances of a simple CLR object of 11 properties of value types: datetime (3), enum (2), string (2), int (2), bool (2).
The empty grid is displayed quickly but the time from setting the data source to displaying the data is ~5 seconds. Initially this is quite confusing for users who are unaware they should wait so press F5 to refresh the page. We've put in a "Loading..." message on screen to inform the user but there does not seem to be an event fired by the xamWebGird once the data is displayed. Without such an event we don't know when to remove the loading message.
So two questions: why the delay? There is not a lot of data. Secondly, is there an event that will fire once the display is presented?
Thanks
Bill Seddon
Hi, I am having similar problem, with a grid having 25 columns and about 100 rows. I have make following settings
<igGrid:XamWebGrid.RowSelectorSettings> <igGrid:RowSelectorSettings Visibility="Visible" EnableRowNumbering="True" > </igGrid:RowSelectorSettings> </igGrid:XamWebGrid.RowSelectorSettings> <igGrid:XamWebGrid.SelectionSettings> <igGrid:SelectionSettings ColumnSelection="Multiple" RowSelection="Multiple" ></igGrid:SelectionSettings></igGrid:XamWebGrid.SelectionSettings><igGrid:XamWebGrid.SortingSettings> <igGrid:SortingSettings AllowSorting="False"></igGrid:SortingSettings></igGrid:XamWebGrid.SortingSettings>
<igGrid:XamWebGrid.EditingSettings> <igGrid:EditingSettings AllowEditing="Cell" IsMouseActionEditingEnabled="DoubleClick" IsEnterKeyEditingEnabled="True" IsF2EditingEnabled="True" IsOnCellActiveEditingEnabled="False" /></igGrid:XamWebGrid.EditingSettings>
I am facing following problems:1. Overall application load time bit high about 20 seconds.2. Overall application response time is very slow.3. Keyboard typing in a cell is very slow. 4. Grid Scroll is very slow.
Furthermore, this issue is basically related with number of columns instead of number of rows. I've tested same program with 5 Columns and 10000 Rows without paging and it is working fine. No Keyboard event delays nor application response problem and significant change (better) load time but the same program causes problem with 30 rows with 25 columns.
Similar to Bill's (possible) issue, do you have a Width set on the XamWebGrid?
Yes I have assigned width and height and I am using following settings:
<igGrid:XamWebGrid x:Name="myGrid"ColumnWidth="65" RowHeight="20" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScrollBarVisibility="Visible">
I am sorry I was unclear, you would need to set the Control's Width and Height.
<igGrid:XamWebGrid Width="100" Height="100">
Seems unlikely. However, *if* that's the case, I'll be looking for my money back. If the only way to obtain anything like acceptable performance on a grid with just 300 rows and 11 colums is to fix the size of the whole control (bearing in mind users might want to resize it to fit their browser and given the noise Infragistics is making about the performance when showing 1 million rows) then, in my view, the grid is not fit for purpose.
It's not clear if you are just another poster or if you work for Infragistics. Can you enlighten me?
Hi,
So, you don't have to explicitly set a Height and Width on the control, it works as everything in SL works. If you don't set a height and width, it inherits it's height and width from it's parent container.
My guess is that you're placing the xamWebGrid in a container that is giving it infinite height and width. When that happens, you're telling the grid to draw everything, which mean no virtualization can take place. So, this should be avoided. You'll see the same issue with ms's grid as well.
As for resizing, with your browser, then if the xamWebGrid's container is a Grid panel, then it will resize with the container, and still have a height and width. So virtualization will still take place.
-SteveZ
Hi Steve
Thanks for the news about the performance improvements. We updated our software to use 10.1 and believe we are seeing an improvement in the time to render the display (after the data has been retrieved) from ~5 seconds to ~1 second. So good job.
Bill
Just as an update, 10.1 was released a couple days of ago, and we added a lot of performance improvements to the grid, specifically in loading. These enhancements weren't just made in 10.1, they will also be in our next 9.1 and 9.2 Service Releases.
And I hope anyone else experiencing an presentation performance issue also see an improvement bit I'm guessing you are looking at different problem.
We were alerted to the issue by a user (usinga publicly available release build) who had difficulties which arose from impatience at the time taken to display rows. We see no material difference in performance between release and debug builds.
I was amazed by how slow the grid was performing (running from Visual Studio). As a test, I published out the web site and ran it outside the debugger and it was SO MUCH FASTER !!
Thanks for letting me know. For me, the important tip was the one you offered yesterday and coupled with looking at the Rows.Count property we are able to offer, and remove, feedback to users.
That said, it you find a resolution, it will be great to find out about it.
Regards