Search code examples
datagriddojodojox.grid.datagridonresize

Get column index in onresizecolumn of declarative dojox.grid.datagrid


  • In a declarative dojox.grid.datagrid, am using onresizecolumn in table tag.

onresizecolumn="columnResize(this.id,this.cellIdx)"

onresizecolumn calls a function. on resizing particular column i want to get the cellIdx.

<div class="claro" id="eterte" name="dataGrid" onclick="getConnect('inner__eterte');setWidgetproperty(this.id,'xy','inner__eterte');" ondblclick="editCustomGrid(this.id)" onmouseup="setDocStyle(this.id)" style="height:200px; left:39px; position:absolute; top:251px; width:950px;">
     <table class="claro" dojotype="dojox.grid.DataGrid" id="inner__eterte" onresizecolumn="columnResize(this.id,this.cellIdx)" rowselector="10px" style="height: 180px; width: 400px;">
          <thead>
               <tr>
                    <th field="Column1" id="Column1_6" width="159px">
                         Column1
                    </th>
               </tr>
          </thead>
     </table>
     <input id="hidden__eterte" name="dataGrid" style="display:none;" type="hidden">
</div>

function columnResize(id,index){
            alert();
            alert(id);
            alert(index);
        }

Solution

  • By reading the API documentation I come to the conclusion that Dojo automatically sends the Cell index to the event handler. So the solution is by simply providing the following attribute onResizeColumn="myFunction" and then you define a function like this:

    function myFunction(cellDx) {
        alert(cellDx);
    }
    

    This should work, I even made a JSFiddle to test it. By the way, is there any reason why you would like to do all of it in a declarative way? As far as my experience goes, it's a lot easier to write most of this in JavaScript.