nested webaccordion height

Hi,


I'm using TWebAccordion to show some master-details objects creating master's sections at runtime and a twebaccordion detail in the content of each master's section rendersection event, after created the detail accordion and a section I set the  caption and it is ok, I also set  the content but when expanded the detail accordion section his content part is only a dozen of pixels in height... caption is ok.
the contents (in both) are html (tables) and it is correct (checked in the debug). for both accordions the heightstyle is ssauto. 

I'm doing something wrong or simply accordion can't be used this way? 

thankyou

It is unclear what you are doing.
Did you have a look at demo Demo\Basics\Treeview Accordion?

You can see in this demo that we add entire controls in the content area and the accordion height expands to fit the content.
What are you doing different?


how to explain... I have an accordion for wich I create sections at runtime, in renderscetions event I put some html in the content and  following the html I would add a new accordion, and it works. the child accordion is appended just after the html and it has 1 section  with his caption and his content (created at runtime). this second accordion appears at then end of the content of the first but when expand it shows only a dozen pixels of his content. Both have heightstyle=ssauto and heightpercent=100. I seems the master's section doesn't recalculate his height when the child expand, maybe is not the right way to use it... or I missing something... 

saw the demo but there the dynamic content have a static component create at runtime while mine is another accordion that can expand or collapse sections and then change his height...

The most efficient will be to provide us with a sample source app with which we can reproduce this here so we can investigate and recommend a solution.

I can add a new thing, just discovered.  If I expand the section of the child accordion then collapse and expand again his parent section then everything is OK! I can see the entire content of the expanded  section of the second accordion...  I'll try to give you some source 

...tried to set expanded:=true for the section just filled but I get an error 

ERROR
Uncaught TypeError: Cannot read property 'classList' of null | TypeError: Cannot read property 'classList' of null at Object.Expand (http://localhost:8000/Giasone4XDataPWA/Giasone4XDataPWA.js:46339:14) at Object.SetExpanded (http://localhost:8000/Giasone4XDataPWA/Giasone4XDataPWA.js:46107:92) at Object.WebAccordion2RenderSection (http://localhost:8000/Giasone4XDataPWA/Giasone4XDataPWA.js:156255:22) at Object.cb [as FOnRenderSection] (http://localhost:8000/Giasone4XDataPWA/Giasone4XDataPWA.js:226:19) at Object.RenderAccordion

Please provide a sample source project with which we can reproduce this.


don't know if it is the right way to provide source... sorry...

in your accordion demo utv_accordion.pas 

procedure TForm3.WebAccordion1RenderSection(Sender: TObject;
  ASection: TAccordionSection; ACaption, APanel: TJSHTMLElementRecord);
var
  lb: TWebListControl;
  ac: TWebAccordion;
  se: TAccordionSection;
  I: integer;
begin
...
  4:begin
      ACaption.element.style.setProperty('background-color','#6DBBFC');
      ac := TWebAccordion.Create(Self);
      ac.ParentElement := APanel.element;
      ac.HeightPercent := 100;
      ac.HeightStyle := ssAuto;
      ac.WidthPercent := 100;
      ac.WidthStyle := ssAuto;

      ac.BeginUpdate;

      se := ac.Sections.Add;
      se.Caption := 'Hello TMS folks!';

      se.Content := '<table> <tr><th>col1</th><th>col2</th><th>col3</th><th>col4</th><th>col5</th><th>col6</th></tr><tbody>';

      for I := 0 to 5 do
        begin
           se.Content := se.Content + '<tr>' +
                '<td>cell'+IntToStr(I)+'1</td>' +
                '<td>cell'+IntToStr(I)+'2</td>' +
                '<td>cell'+IntToStr(I)+'3</td>' +
                '<td>cell'+IntToStr(I)+'4</td>' +
                '<td>cell'+IntToStr(I)+'5</td>' +
                '<td>cell'+IntToStr(I)+'5</td>' +
              '</tr>';
        end;
      se.Content := se.Content + '</body><table>';


      ac.EndUpdate;
    end;
....

in 

procedure TForm3.WebFormCreate(Sender: TObject);
var
  tn,sn,wn: TTreeNode;
begin
  ....
  webaccordion1.Sections.Add.Caption := 'BIZ';

  webaccordion1.Sections.Add.Caption := 'BKON';
....

thankyou

Please just send a project by email.

https://www.tmssoftware.com/site/support_mail.asp

sent... One more "simple" question... I need to add to a section's caption one ore more buttons... at runtime... I do it and it works but I don't know how to right align them, can anyone suggest the best way to do it?

You could control alignment with css attributes or insert HTML like <p align="right">...</p>

Thanks Bruno, already found a solution using float-right along with other classes in elementclassname for the button