Further testing has revealed that it is not only the bind that is much slower. On the client side there is a 30+ second delay AFTER the grid is rendered on the page before I can use or do anything on the page. Client CPU is pegged at 100% per each processor (i.e. maxed out at 50% on a dual core CPU). This is with a 180 row grid (with no paging) that used to have at most a 1-2 second delay. Not sure what is going on there, or what client side script/code is running, but basically the page is completely unusable with large grids. There is a bit of a delay on other pages where we use paging, but with a page size of 20 or 50, it seems to be tolerable, but not so with larger grids.
Hi,
We have implemented a method name “ConvertDataTable” to convert a custom list to a DataTable object. Please try the following code with Aspose.Cells.GridWeb v2.4.2.2003(attached), this will enhance the performance on the server side.
DataTable table = CustomCollectionHelper.ConvertDataTable(list);
WebWorksheet sheet = GridWeb1.WebWorksheets[0];
sheet.DataSource = table;
Please update the Aspose.Cells.GridWeb.dll file first, and then remove all files in /acw_client/ virtual directory, update it with /acw_client directory in the zip file.
Please tell us how many rows/columns in your paging, which version of ie you are using. We will analyze the client side issue.
Thank you.
I’ll try the new DLL shortly, although I have previously tried binding to a DataSet rather than a collection and the speed improvement was negligible, perhaps a few seconds shaved off the 30+ seconds bind time.
As far as the browser, we are running IE7 or IE8 in compatibility mode. Can’t tell you about other browsers, we don’t support them. The grid size is not using pagingas we know that there is never any more than than 180-200 rows by 15 columns, so urs simply scroll through the list to avoid post-backs associated with paging. All but 3 columns are text; 1 is a dropdown, 2 are checkboxes. 2 columns contain have comments. The delay seems to be related to the number of rows. We use the WebGrid on other pages, but always in paged mode as we are generally working with much larger data sets; page size is variable between 20 and 50, with a page size of 20 I can’t tell if there is a delay, with a page size of 50 there is a slow down that we did not experience with the prior version of the grid.
Are there any news on speeding up the front end browser sluggishness issue?
Hi,
We have enhanced the performance of client scripts for IE in Aspose.Cells.GridWeb v2.4.2.2005 (attached). It takes a few seconds to load 1000*15 cells completely.
Please update the Aspose.Cells.GridWeb.dll file first, and then remove all files in /acw_client/ virtual directory, update it with /acw_client directory in the zip file.
thank you.
It works! It is much faster. There is a minor issue though - hyperlink cells do not appear to be sorted correct, all other cells/columns are sorting fine. See attachment. The vendor id is a bound field, with the vendor id hyperlink being the same as the cell content, i.e. VendorGroupId and VendorId collection members are also bound to, respectively, columns 1 and 2.
Code snippet below:
WebWorksheet wks = acgwHeader.WebWorksheets[0];
wks.Cells.Clear();
wks.EnableRowAddDelete = false;
wks.DataSource = histories; // histories is a collection that
wks.DataBind();
for (int row = 0; row < histories.Count; row++)
{
if (!string.IsNullOrEmpty(histories[row].VendorGroupId))
{
Hyperlink hlinkVendorGroup = wks.Hyperlinks.AddHyperlink(row, 1);
hlinkVendorGroup.ActionType = HyperlinkActionType.CellCommand;
hlinkVendorGroup.Text = string.IsNullOrEmpty(histories[row].VendorGroupId) ? “” : histories[row].VendorGroupId;
hlinkVendorGroup.ToolTip = string.IsNullOrEmpty(histories[row].VendorGroupId) ? “” : histories[row].VendorInfo + “\nClick to see files history”;
hlinkVendorGroup.DiscardInput = string.IsNullOrEmpty(histories[row].VendorGroupId);
}
Hyperlink hlinkVendorId = wks.Hyperlinks.AddHyperlink(row, 2);
hlinkVendorId.ActionType = HyperlinkActionType.CellCommand;
hlinkVendorId.Text = histories[row].VendorId;
hlinkVendorId.ToolTip = histories[row].VendorInfo + “\nClick to see files history”;
}
Hi,
We have fixed the bug of sorting hyperlinks in Aspose.Cells.GridWeb v2.4.2.2007 (attached). Kindly try it and let us know if it works fine now.
Please update the Aspose.Cells.GridWeb.dll file first, and then remove all files in /acw_client/ virtual directory, update it with /acw_client directory in the zip file.
Thank you.
Works great (and seems to be faster too)! I also noticed that you now seem to sort the cell read only attribute with the data, so it appears there is no need for the ‘OnPreRender’ handler to reset the cells; .IsReadOnly attribute? Please confirm is; I like this behaviour, but as your original answer was it is not quote the same as in Excel, hence I want to make sure that this will not change in your further releases
Thank you for your prompt fix!!!
Hi,
Thanks. The properties (readonly, hyperlinks, validations, styles and comments etc.) will be sorted with the relative cells. We will keep this behavior in further releases.
Thank you. This will save me quite a it of development time/coding!