Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
885
Show/Hide of some panels in group upon click on group name.
posted

Hi,

    I have a usecase as follows:

1. I have a form where in I have a main UltraPanel and three buttons Ok, Cancel and Apply buttons.

2. My main UltraPanel have three or more sub UltraPanels.

3. A subpanel is having a group panel and  other panel having three or more item panels.

4. A group panel is having a label texted as  +GroupName or - GroupName and check box "ShowAll".

5. An Item panel is having a label texted as "itemname" and followed by check box "Show".

Please see the first snapshot.

 

My Requierement is like this:

1. Whenever I click on ShowAll it should check all the checkboxes in the item panels of that group(I will do this)

2. Whenever I click on +GroupName then it should be re-texted as "-GroupName" and it should show all its item panels so that we can custom individual items.

3. Whenever I click on "-GroupName" then it should hide all its item panels. Please see second snapshot.

One problem I have faced is "Whenever a Group hides its itempanels, the main panel was not refreshing its components. That means we will find some vacant place after hiding its items panels". See the second snapshot. I don't want to have any vacant place after hiding.

I have tried UltraFlowLayoutManager and UltraGridBagLayoutManager, but haven't succeded.

It is fine to have fixed size MainPanel with a vertial scrollbar(If we have more number of group panels), but we should not have any vacant space between the group panels(if those items groups hided).

 

I think you can better understand my requirement by seeing the above two snapshots. I don't want to have any space between two groups whenever first group's items are invisble. Please see the code below of event handler for GroupName label where UltraPanel7 is the panels that has list of all item panels of that group.

private void ultraLabel4_Click(object sender, System.EventArgs e)
        {
            bool isVisible = this.ultraPanel7.Visible;

            this.ultraPanel7.Visible = !isVisible;

            //
            // If the Panel consisting of all itempanels is visible
            //

            if (this.ultraPanel7.Visible) {
                this.ultraLabel4.Text = "- Group Name";

            }
            else {
                this.ultraLabel4.Text = "+ Group Name";
            }
        }

Can anyone tell me whether I am doing anything wrong or I should get this very
easily by using any other predefined Infragistics component. Please note that
the number of groups and items in the group may vary dynamically also
(otherwise its fine to re-create the form again).

Thanks,
Sanjeev.