[CLOSED] Mvc.Ext.Net Collapsible Panel bug

  1. #1

    [CLOSED] Mvc.Ext.Net Collapsible Panel bug

    Hi,

    Over a few solutions, I've noticed that there is a bug when using collapsible panels with gridpanels inside them.

    I have a collapsible panel with a panel inside it, and inside that panel is a gridpanel. This gridpanel has a direct event on it, so that when you select something, it displays a panel (that panel is in the center region, if that matters) with specific details relating to what you click on.

    It works fine when you load the page, then click an item within the gridpanel before collapsing and then expanding the panel. If you do that, the call still works (as I can see it in console/ Network) but the center panel (which worked before) no longer appears. Strange.

    The hierarchy is like so:

    - Collapsible Panel
    - Panel
    - Grid Panel

    I believe there is a bug, that when you collapse and then expand a panel with a gridpanel inside it, the contents of another panel will not load (if it's in direct events).

    I have tested this with a button and it works fine (I just passed in example details to the same call), even after expanding it. The issue only seems to arise with gridpanels.

    Please advise!

    EDIT:
    I've attached images of the working version and broken version.

    Working:
    Click image for larger version. 

Name:	Working_Client.PNG 
Views:	7 
Size:	17.4 KB 
ID:	25289

    Broken:
    Click image for larger version. 

Name:	Broken_Client.PNG 
Views:	4 
Size:	6.2 KB 
ID:	25290
    Last edited by cslocus; Oct 08, 2019 at 8:56 PM.
  2. #2
    Hello @cslocus, and welcome to Ext.NET forums!

    Would you be as kind as to provide a runnable test case, so we can reproduce the issue here? Your description on the issue is clear, but I'm afraid we wouldn't be able to reproduce the exact scenario even with that; best to be sure would be a test case illustrating the issue.

    This may be boring at first, but helps a lot us help you, and once you get the hang of it, the test cases come in naturally, and you get best answers, that's worth at least a try. Are you in?

    Here's some threads to guide you on making such samples; hope you understand:

    - Tips for creating simplified code samples
    - More Information Required
    - Forum Guidelines

    Please give this a shot, I'm sure we'll be able to further help you, and precisely answer your inquiry by giving you ways to properly proceed in the scenario (may be a config option missing!), or log an issue and provide workaround if that's a bug that can't be easily avoided.

    Looking forward to your follow-up!
    Fabrício Murta
    Developer & Support Expert
  3. #3
    Hi!

    Thanks for getting back to me.

    Here's a github repo of all of my code for this project (probably easier to clone this rather than piece together code snippets)

    Please let me know if you need anything else.
    Last edited by geoffrey.mcgill; Oct 10, 2019 at 2:09 AM.
  4. #4
    Hello @cslocus.

    It is more difficult for us to provide you proper guidance if you don't comply to our guidelines on posting inquiries in the forums. Unfortunately, from experience, trying to tackle issues given whole projects proved very ineffective, except for very specific cases; so we turned out to ask for simplified test cases. Most times you can base them off one of the various examples we have in examples explorers.

    Anyway, we're going to give your project a try, but can't promise an answer in a timely fashion in these terms. So if you're willing to reconsider, please share a simplified version here in the thread as instructed by the topics above and you'll get a prompter response.

    Another reason is, we shouldn't be sharing proprietary/copyrighted code here; that's just another reason we require simplified, bare test cases.

    Hope you understand.
    Fabrício Murta
    Developer & Support Expert
  5. #5
    Hello @cslocus!

    I have just finished trying your project and I can't reproduce the issue.

    Steps:
    - perform login
    - click some clients to let the center panel update (works)
    - collapse the West panel
    - expand the West panel
    - click other clients to let the center panel update (works as well)

    The only change I made was to wrap the database object into a list-driven object. In other words, I refactored CRM.DAL.CRMContext into:

    public class CRMContext
    {
        public CRMContext()
        {
            Users = new List<Users>();
            Clients = new List<Clients>();
            ChangeHistory = new List<ChangeHistory>();
            Employees = new List<Employees>();
    
            for (var i = 0; i <= 5; i++)
            {
                Users.Add(new Models.Users()
                {
                    ClientID = i,
                    UserID = i,
                    Username = "Client " + i,
                    UserPassword = "Password " + i
                });
    
                Clients.Add(new Models.Clients()
                {
                    AddressLine1 = "Client " + i + " address 1",
                    AddressLine2 = "Client " + i + " address 2",
                    City = "Client " + i + " city",
                    ClientID = i,
                    ClientName = "Client " + i,
                    EmailAddress = "client" + i + "@address.mail",
                    PhoneNumber = "Client " + i + " phone",
                    Postcode = "Client " + i + " postal code"
                });
    
                ChangeHistory.Add(new Models.ChangeHistory()
                {
                    AddedBy = "Client " + i,
                    ChangeID = i,
                    ChangeText = "Client " + i + " change.",
                    ClientID = i,
                    DateAdded = DateTime.Now.AddDays(i * -1)
                });
    
                Employees.Add(new Models.Employees()
                {
                    ClientID = i,
                    EmployeeEmail = "Client " + i + " employee email",
                    EmployeeID = i + 10,
                    EmployeeName = "Client " + i + " employee name",
                    EmployeeTelephone = "Client " + i + " employee phone"
                });
            }
        }
    
        public List<Users> Users { get; set; }
        public List<Clients> Clients { get; set; }
        public List<ChangeHistory> ChangeHistory { get; set; }
        public List<Employees> Employees { get; set; }
    
        // Do nothing. Pretend changes were saved.
        public void SaveChanges()
        {
    
        }
    }
    I don't think collapsing and expanding panels should interfere with database queries, so there should be something else aside of what you pointed, that is required to reproduce the issue.

    I see there's a new commit since you shared the project, but that commit essentially introduces an 'Employees' class, so I don't see how it could be the reason I can't reproduce the issue on my side.

    Please check if the error is consistent, and also try this "in-memory" mock database approach, I really couldn't reproduce the issue here.

    We may not be able to provide further assistance to this inquiry unless a simplified test case is provided, as discussed throughout this thread.

    Hope you understand.
    Fabrício Murta
    Developer & Support Expert
  6. #6
    Unfortunately, not enough information was provided in order for us to properly reproduce the problem.

    I'm closing the thread but we will reopen if a simplified and self contained sample is provided that reproduces the issue.
    Geoffrey McGill
    Founder & CEO

Similar Threads

  1. RTL Not Working in MVC Ext.net 2.2.0 Bug
    By sa_tabrizi in forum 2.x Help
    Replies: 1
    Last Post: May 21, 2013, 3:01 AM
  2. Replies: 6
    Last Post: Feb 13, 2013, 2:38 PM
  3. Ext.NET Treeview Panel with ASP.NET MVC 3 CRUD example
    By richard.tiong in forum 2.x Help
    Replies: 1
    Last Post: Jul 24, 2012, 2:20 PM
  4. Replies: 2
    Last Post: Jun 14, 2012, 12:30 PM
  5. Replies: 1
    Last Post: Sep 16, 2008, 11:45 AM

Tags for this Thread

Posting Permissions