Adding/Editing products gets Reeaaaally slow when adding lots of categories

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
13 年 前
also, on the page load event, make sure that the dictionary properties have been set like this:

protected void Page_Load(object sender, EventArgs e)
{
     Departments.Departments = new Dictionary<int, string>();
}

I was having a lot of trouble when troubleshooting this issue because when editing it worked fine because I set a value to the ViewState but when adding, there was nothing to set it to so initializing the ViewState with an empty Dictionary fixed the problem.
13 年 前
And when saving a new record call the RetainID() method to make sure the GridView saves all changes.
13 年 前
I may be just a dumb old country boy but instead of complicating the issue why not just add paging period that is what I did and it works just fine. Maybe I am missing something but I dont think so.

Job security is not making so hard for the average person to understand, it is making it so easy it cant be misunderstood.
13 年 前
Adding paging is indeed a working solution for the product details page.

But the category editing function (treeview) still remains unacceptably slow. This tree could be replaced by an Ajax type treeview which only loads the branches when opening them.

But one of our clients has a webshop with over a thousand categories. So finding categories in a paged gridview remains hard.

A better solution would be to rework the entire category listing. Maybe an ajax based treeview in combination with a good search function would be a nice solution.
13 年 前
Use sub-categories?
13 年 前
ASP5 wrote:
Use sub-categories?


And how is using sub categories make the treeview load faster or the gridview more comprehensible?

In the gridview the entire tree is loaded at once. By replacing it with an ajax treeview only one level of categories is loaded at a time, which makes is better (faster) to use * only * when using sub categories.
But the current tree doesn't use Ajax loading.

For the gridview it does not make any difference because all categories including sub categories are loaded. And finding the right category in a paged gridview with over a 1000 categories becomes a real pain in the ass without search function. (or tree based browsing)
13 年 前
I was thinking that the list of categories may take a long time to go through when you are mapping them to a product and like coders4you was saying, when you click a category and go to the next page, the grid view will not remember which category you clicked when you are ready to save.  Having the categories that you click saved in view state will make mapping categories to products easier.

In my example, employees can be mapped to multiple departments but loading all the departments in one page would make the web page unresponsive and less user friendly.  I wrapped the grid view in an update panel and added an ajax extender which gives the update panel a cool fade out when a page button is clicked and a fade in when the data is loaded.  It makes the user experience more enjoyable with effects like this and gives the user confidence in the the items selected because they are remembered in view state.
13 年 前
I think the best solution for this is a pop-up window.

I.E only show the mapped categories under the categories tab, then have a window to 'add categories' - on clicking a pop up window opens and you can search/add categories.

Or as others have said, some style of ajax tree view. Or letting people do a filtered ajax search then select/add
13 年 前
Has this issue been corrected in Version 1.8 or in 1.7, or do we to fix the code manually?
13 年 前
Pysanka wrote:
Has this issue been corrected in Version 1.8 or in 1.7, or do we to fix the code manually?

We did some performance optimization in nopCommerce 1.80 in case a store owner has more than 1000 categories. Try it and let me know if you still experience some issues
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.