Announcement

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

    Problem in ListGrid with recordComponentPoolingMode: "data"

    SmartClient version v9.1p_2014-03-16/Enterprise Deployment (2014-03-16)

    Browsers: Chrome, FireFox

    I have a ListGrid with the following settings:

    Code:
    recordComponentPoolingMode: "data",
    showRecordComponentsByCell: true,
    createRecordComponent: function(record, colNum) 
    {
        var fieldName = this.getFieldName(colNum);
    
        if (fieldName == "Chart") {
            var recordCanvas = isc.HLayout.create({
                height: 30,
                width:100,
                align: "center"
            });
            var chartImg = isc.FacetChart.create({....});
            recordCanvas.addMember(chartImg);
            return recordCanvas;
        }
        else {
            return this.Super("createRecordComponent", arguments);
        }
    }
    When I update existing row in the grid the old Record Component for the cell is not removed and new one is added and painted on top of the old one.
    When inspecting the ListGrid record inside Chrome console I notice that each time I edit the row, the existing record component is added to and array called _embededComponents_.... and the new one that is created is added as a single item to an array called _recordComponents_....
    So with each edit, the first array keeps growing and the second always stays with size 1. When rendering the grid all the created components are stacked one over the other in the corresponding cell.

    When the recordComponentPoolingMode is not set or set to "viewport", the record component is properly replaced with the new one on each row edit.

    #2
    We believe this is a bug fixed in early April, can you try a more recent patched build?

    Comment


      #3
      Originally posted by Isomorphic View Post
      We believe this is a bug fixed in early April, can you try a more recent patched build?
      Just downloaded Version v9.1p_2014-04-24/Enterprise Deployment (2014-04-24) and it is still a problem.

      Comment


        #4
        We're not directly seeing this with a similar example, although we don't have all of your settings.

        Can you try getting rid of the call to Super() from your createRecordComponent() override, because this is a stringMethod and has no default implementation (in fact, you should be seeing stacktraces output in the SmartClient Developer Console with the code you posted).

        If you still see the issue, can you fill out your sample code with the entire config for the grid?

        Comment


          #5
          Actually, we do this issue now, and we're looking into it...

          Comment


            #6
            This is fixed for 9.1 and 10.0 - please retest with a build dated April 29 or later.

            Comment


              #7
              Originally posted by Isomorphic View Post
              This is fixed for 9.1 and 10.0 - please retest with a build dated April 29 or later.
              Thanks. This is now resolved.

              Comment

              Working...
              X