We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: November 16, 2018).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Grid seems sluggish when scrolling...

Thread ID:

Created:

Updated:

Platform:

Replies:

7234 Sep 16,2003 09:12 PM UTC Nov 20,2003 07:52 PM UTC WinForms 6
loading
Tags: GridControl
Steve S.
Asked On September 16, 2003 09:12 PM UTC

I have a grid (approximately 80 rows by 100 columns). Obviously, not all of the grid can be displayed on the screen at one time. When scrolling up/down and side-to-side, the grid is not very repsonsive about repainting itself. Sometimes it can take 2 or 3 seconds for the grid to completely finish repainting after a multi-row scroll operation. Any suggestions on how I could improve the responsiveness?

Administrator [Syncfusion]
Replied On September 16, 2003 09:21 PM UTC

What can of cells do you have? Are you using special cells like currency cells? If so, here is forum thread on this problem. http://www.syncfusion.com/forums/message.asp?MessageID=6944

Steve S.
Replied On September 17, 2003 01:48 PM UTC

Clay- Thanks for the info. Actually, most of my cells are of type "FormulaCell". I plan on learning more about the use of virtual grids, and the QueryCellInfo method -- perhaps that will speed things up a bit. In the meantime, here's a snippet of my code in case you have any suggestions to make: ---------------------- foreach (DataRow row in dater.Rows) { int GridRow = (int)row["row_number"]; string styleName; switch((string)row["cell_type"]) { case "Text": gridStyleInfo.CellType = "Static"; gridStyleInfo.CellValue = (string)row["cell_value"]; this.gridControl1.SetCellInfo(GridRow, myColumnNumber, gridStyleInfo, Syncfusion.Styles.StyleModifyType.Changes); break; case "Formula": gridStyleInfo.CellValue = (string)row["cell_value"]; gridStyleInfo.CellType = "FormulaCell"; this.gridControl1.SetCellInfo(GridRow, myColumnNumber, gridStyleInfo, Syncfusion.Styles.StyleModifyType.Changes); break; case "Data": gridStyleInfo.CellType = "TextBox"; gridStyleInfo.CellValue = DataAccess.GetActualValue(); this.gridControl1.SetCellInfo(GridRow, gridContext.ColumnNumber, gridStyleInfo, Syncfusion.Styles.StyleModifyType.Changes); break; } } ------------------------ Thanks for all your help, s.s.

Administrator [Syncfusion]
Replied On September 17, 2003 05:53 PM UTC

Where do you have this code in your program?

Sue Harris
Replied On September 17, 2003 11:16 PM UTC

Steve, I've noticed in my grid that refreshing is very slow when I'm running within visual studio, but speeds up dramatically when I run it outside the IDE. Could this be what you're noticing? Regards, Sue

Brooks Tobey
Replied On November 20, 2003 07:16 PM UTC

I am having the same problem. I too have a relatively small grid 100 X 200 with many formulas. Using it for an Excel-type application. Yes, it is faster outside of the IDE, but it is still sluggish scrolling right. I have found that, in my case, the slowness is caused by it putting the formulas in the cells (and any cell that the formula depends on) as they come into view when scrolling. You can see this by putting the following code in the GridMain_CellsChanging event (VB Code): Debug.WriteLine("row/Col: " & e.CellsInfo(0).CellIdentity.RowIndex & " / " & e.CellsInfo(0).CellIdentity.ColIndex & " Old Val: " & grdMain(3, 3).Text & " New Val: " & e.CellsInfo(0).Text) After you scroll through the entire grid, it is fast because the cells are loaded. Syncfusion Question: Is there any way to force the formulas (and for that matter, any cell contents) to be loaded into the entire grid all at once and not as they are scrolled to? I think this would seem faster to the user. Thanks, Brooks > Steve, > > I've noticed in my grid that refreshing is very slow when I'm running within visual studio, but speeds up dramatically when I run it outside the IDE. Could this be what you're noticing? > > Regards, > Sue

Administrator [Syncfusion]
Replied On November 20, 2003 07:52 PM UTC

In 1.6.1.8 (available from your support home page), there is a FormulaEngine.RecalculateRange that you can use to force the formulas to be calculated. So, after your grid has been populated, you can call: GridFormulaCellModel model = this.gridControl1.CellModels["FormulaCell"] as GridFormulaCellModel; model.Engine.RecalculateRange(GridRangeInfo.Table(), true);

CONFIRMATION

This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

;