Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

Display issues in TLMDListBoxExt

There's an issue when resizing a form that includes a TLMDListBoxExt with multiple columns/headersections, the data will return back to the first HeaderSection (even if the user has scrolled to the middle, but the scrollbar doesn't return back to its original position. Hence there's an 'overscroll' issue (to a blank region beyond the data), if you now scroll back to the initial position.

Delphi 10.3, LMD Tools 2022.4

Comments

  • 10 Comments sorted by Votes Date Added
  • edited August 25 Posts: 8Vote Up1Vote Down
    I also noticed a similar issue when resizing a HeaderSection as well. If you resize a header, then the first header will suddenly increase to a very large size and the same overscroll issue occurs as well. I reckon there might be a problem with the scroll tracking relative to the data. 
  • edited August 12 Posts: 8Vote Up1Vote Down
    I have attached some screenshots concerning the situations mentioned above.
    png
    png
    Picture1.png
    16K
    png
    png
    Picture2.png
    20K
    png
    png
    Picture3.png
    38K
  • edited August 24 Posts: 8Vote Up1Vote Down
    The expected correct outcomes are: the HeaderSections shouldn't go back to the first one when the form is resized and the scrollbar shouldn't return back to initial position (while the data view doesn't move) when the form containing the TLMDListBoxExt is resized.
  • Thanks for report. I'll check.
  • edited August 25 Posts: 8Vote Up1Vote Down
    Great. Will verify this once I get the next minor release and give you an update.
  • Tested with the new release, but the issue still occurs. Also if you move a HeaderSection that is on the middle, the data doesn't move with it.
    Please refer these screenshots.
    jpg
    jpg
    Screenshot 2022-09-27 193948.jpg
    88K
    jpg
    jpg
    Screenshot 2022-09-27 194027.jpg
    85K
    jpg
    jpg
    Screenshot 2022-09-27 194059.jpg
    84K
  • There is also this procedure included in my project related to this unit, but I'm not sure whether it works correctly.
    (lBoxSummary is the TLMDListBoxExt object)

    procedure TFormBatchResults.lboxSummaryHeaderSectionResize
      (HeaderControl: THeaderControl; Section: THeaderSection);
    var
        i, Width: integer;
    begin
        Width := 0;
        for i := 0 to FColCount - 1 do
            Width := Width + lboxSummary.HeaderSections.Items[i].Width;
        HorzScrollBar.Range := Width + 1;
        // Sets horizontal scroll bar

    end;




  • edited September 30 Posts: 8Vote Up0Vote Down
    Please check the new comments mentioned above.
  • It works fine in my simple test project. So, can you please provide a small demo (including your HeaderSectionResize event handler) and steps to reproduce the issue.
  • Posts: 0 Accepted Answer Vote Up-1Vote Down
    Fixed.
Sign In or Register to comment.