Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-2012

Not possible to call getRowCount() in override of isVisible() for DataView

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.3.5
    • Fix Version/s: 1.4-RC2
    • Component/s: wicket
    • Labels:
      None

      Description

      I am using a DataView and I was trying to override isVisible() and use "this.getRowCount()" to decide if the table should be rendered or not. But this results in a stack overflow because DataView#getRowCount() internally calls isVisibleInHierarchy().

      The use case is trying to hide a table header row when there are no search results. The implementation of getRowCount() in AbstractPageableView (Wicket 1.3.5) starts like this:

      if (!isVisibleInHierarchy())

      { return 0; }

      Was wondering - is that part really necessary? I wanted to use an enclosure but that also results in isVisible() calls all over the place. I could work around this for now by using a separate web markup container for hiding the table header row.

      My message to the mailing list: http://www.nabble.com/trouble-controlling-visibility-of-dataview-td21265778.html#a21265778

      I just searched Nabble and found this had come up before:

      http://www.nabble.com/enclosures-and-dataview-td14258879.html#a14258879

      Let me know if you need a quickstart or more information.

        Attachments

          Activity

            People

            • Assignee:
              jdonnerstag Juegen Donnerstag
              Reporter:
              ptrthomas Peter Thomas
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: