Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Listgrid with frozen columns: horizontal scrollbar overlays bottom row

    Hi,
    I have some issues with a listgrid when I freeze a column:

    >> horizontal scrollbar overlays bottom row
    When I freeze a column and the remaining columns are too wide for the grid a horizontal scroll bar is introduced. This horizontal scrollbar overlays the bottom row of the grid (see screenshot). This also happens with the smartclient demo.

    Is there a way to show the scrollbar below the grid somehow?

    >> empty message is shown in frozen part and repeated in the non-frozen part
    (see attached screenshot)

    >> Combination with auto fit extends the expanded field to a large width
    I am using the nightly build of 8th of december, it works fine with 7.0rc2 though!
    I can reproduce the issue with the smartclient simplefreeze example, this example shows that the SKU field is extended to a large width:
    Code:
    isc.ListGrid.create({
        ID: "supplyList",
        width:'100%', height:224,
        dataSource: supplyItem,
        autoFetchData: true,
      autoFitFieldWidths: true,
      xautoFitWidthApproach: 'title',
    autoFitExpandField: 'SKU',
        fields:[
            {name:"itemName", frozen:true, width:150},
            {name:"category", width:100},
            {name:"SKU", width:100},
            {name:"units", width:80},
            {name:"description", width:250}
        ]
    })
    gr. Martin
    Attached Files
    Last edited by martintaal; 6 Jan 2011, 09:25.

    #2
    Doing so would make the grid no longer rectangular, so it wouldn't fit flush against other components.

    Comment


      #3
      Thanks for the reply, I also asked 2 other questions in this same post (I edited the post just after submitting it), did you see those?

      gr. Martin

      Comment


        #4
        Empty message visible in both areas - not something we plan to change.

        Large SKU field - you've set autoFitExpandField: 'SKU', so it appears to be doing what you told it to?

        Comment


          #5
          Regarding auto expand, I had attached the wrong picture, see the new picture I attached, the SKU field gets autoexpanded far beyond its needed width.

          Sorry to hear that you don't plan to change the double message. For example for the selection column it makes sense to freeze it as a standard, having the empty message there seems strange imho. Is there something I can do/override to prevent it to be displayed?

          Regarding the overlay of the scrollbar over the bottom row, I honestly think it is much nicer if the frozen cells on the left of the scrollbar are not shown or that they are overlaid with something so that they are not visible. Is that doable by overriding something?

          gr. Martin
          Attached Files

          Comment


            #6
            The behavior of 8.0 final differs from what you're seeing: the description field gets a large width instead (correctly, since it has long values).

            Sorry, we think it's very, very important that the ListGrid remains a rectangle when columns are frozen, in order to make maximum use of space. There's no way to override this other than a deep dive into the source.

            Comment


              #7
              Hi, not giving up yet :-), I don't mean that the scrollbar should be painted outside of the grid, I mean can't a small rectangle be displayed just left of the horizontal scrollbar to hide the frozen columns of the last row? From a visual perspective that would look much nicer (imho ofcourse).

              gr. Martin

              Comment


                #8
                I think this is what gr. Martin is referring to and I agree it would look nicer :)

                Sanjiv

                Comment


                  #9
                  That screenshot doesn't have a vertical scrollbar, if it did, your taste might be different.

                  If you desperately want a grey square down there, you could add a Canvas as a child to the ListGrid, use snapTo:"BL" to place it in the corner, and use the fieldStateChanged() notification to size it according to the number of frozen columns (or hide it).

                  This is unlikely to be something we'll do in the framework, because, again, it burns screen real estate, which is typically at a premium in SmartClient applications.

                  Comment


                    #10
                    For anyones information:

                    I removed the empty message in the frozen part by adding this to our grid implementation:

                    createBodies: function() {
                    var ret = this.Super('createBodies', arguments);
                    if (this.frozenBody) {
                    this.frozenBody.showEmptyMessage = false;
                    }
                    return ret;
                    },

                    Still I don't see why this is not standard behavior of Smartclient, there must be a usability advantage which i don't really see ;-).

                    gr. Martin

                    Comment

                    Working...
                    X