Author Topic: Exception with CheckBox column and hoirizontal scrollbar  (Read 2282 times)

ralph1996

  • Pro Ultimate
  • Jr. Member
  • *
  • Posts: 80
    • View Profile
Exception with CheckBox column and hoirizontal scrollbar
« on: September 16, 2016, 02:12:09 am »
I am receiveing an exception (Cannot read property 'html' of null) when you have a grid in which the columns are wider than the grid (i.e. horizontal scrollbar) and you have a checkBoxSelection column.  I was able to reproduce this with the demo code on the site for the checkbox column.  All that is needed is to comment out the flexWidth line to force the grid to have scrollbars.  When you do this and run the demo you get the exception.
 
If you remove the chekcBox column it does nto happen.  The issue appears to be that the table cell for teh checkbox does not exists (pq-col-indx=0) in the header toable for the non-frozen columns.  That is about as far as I got with this.  I just started evaluating paramquery today so I am not very familiar with it yet.  Normally, I would think I made a mistake in my code somewhere - except I can recreate with the demo very easily.

 Below is the demo code with the line commented out:


    $(function () {
        //state of the checkbox and row selection is being saved in state field.
        var data = [
            {rank:1, company:'Exxon Mobil',revenues: '339,938.0',profits: '36,130.0', state: true},
            {rank:2, company:'Wal-Mart Stores',revenues: '315,654.0', profits:'11,231.0', state: false},
          {rank:3, company:'Royal Dutch Shell', revenues:'306,731.0', profits:'25,311.0', state: false},
          {rank:4, company:'BP', revenues:'267,600.0',profits: '22,341.0', state: false},
          {rank:5, company: 'General Motors',revenues: '192,604.0', profits:'-10,567.0', state: true},
          {rank:6, company: 'Chevron', revenues:'189,481.0', profits:'14,099.0', state: false},
          {rank:7, company: 'DaimlerChrysler',revenues: '186,106.3',profits: '3,536.3', state: false},
          {rank:8, company: 'Toyota Motor', revenues:'185,805.0',profits: '12,119.6', state: false},
          {rank:9, company: 'Ford Motor', revenues:'177,210.0',profits: '2,024.0', state: false},
          {rank:10, company: 'ConocoPhillips', revenues:'166,683.0', profits:'13,529.0', state: true},
          {rank:11, company: 'General Electric',revenues: '157,153.0', profits:'16,353.0', state: false},
          {rank:12, company: 'Total', revenues:'152,360.7', profits:'15,250.0', state: false},
          {rank:13, company: 'ING Group', revenues:'138,235.3', profits:'8,958.9', state: false},
          {rank:14, company: 'Citigroup', revenues:'131,045.0', profits:'24,589.0', state: false},
          {rank:15, company: 'AXA', revenues:'129,839.2', profits:'5,186.5', state: false},
          {rank:16, company: 'Allianz',revenues: '121,406.0', profits:'5,442.4', state: false},
          {rank:17, company: 'Volkswagen', revenues:'118,376.6',profits: '1,391.7', state: true},
          {rank:18, company: 'Fortis', revenues:'112,351.4', profits:'4,896.3', state: false},
          {rank:19, company: 'Crédit Agricole', revenues:'110,764.6', profits:'7,434.3', state: false},
          {rank:20, company: 'American Intl. Group', revenues:'108,905.0',profits: '10,477.0', state: false}
      ];

        var obj = {
            width:700,
            height:200,
            editable: false,
            //freezeRows: 2,
            title:"Checkbox selections",
            selectionModel: { type: 'none', subtype:'incr', cbHeader:true, cbAll:true}, 
            minWidth: 30,       
            flexHeight:true,
            //flexWidth: true,       
            pageModel: {type:"local", rPP:10 },
            colModel:
            [
                { title: "Rank", width: 100, dataType: "integer",dataIndx:"rank"},
                { title: "Company", width: 220, dataType: "string", dataIndx:"company"},
                { title: "Revenues ($ millions)", width: 180, dataType: "float", align: "right", dataIndx:"revenues" },
                { title: "Profits ($ millions)", width: 170, dataType: "float", align: "right", dataIndx:"profits" },
                { title: "", dataIndx: "state", width: 30, align: "center", type:'checkBoxSelection', cls: 'ui-state-default', resizable: false, sortable:false }
            ],
            dataModel: {
                data: data,
                location: "local",
                sorting: "local",
                sortIndx: "profits",
                sortDir: "down"
            }
        };
        var $grid = $("#grid_selection_checkbox").pqGrid(obj);
    });   

paramvir

  • Administrator
  • Hero Member
  • *****
  • Posts: 6310
    • View Profile
Re: Exception with CheckBox column and hoirizontal scrollbar
« Reply #1 on: September 16, 2016, 06:23:52 am »
This issue is known with free version of grid and its fix is discussed here.

https://github.com/paramquery/grid/issues/91