Note that there are some explanatory texts on larger screens.

plurals
  1. POAccesing jqgrid columns and values
    primarykey
    data
    text
    <p>I have been playing around with jqgrid, and have the following question. </p> <ul> <li>To get the values of ID column, we use getDataIDs(). Is there a way I can get the values of other columns (I am using custom formatter to create a column link and adding delete link to each row on 'loadComplete'.)</li> <li>Can I use conditional statements while looping over a column and values. I mean, I want to loop over user_name column below and depending on its values I want to show delete for some values and do not want to display for some values</li> </ul> <p>below is the code.</p> <pre><code>$(document).ready(function() { $("#list").jqGrid( { url:'index.cfc?method=getData', //CFC that will return the users datatype: 'json', //We specify that the datatype we will be using will be JSON mtype: 'POST', colNames:['User ID', 'User Name'], //Column Names colModel :[ {name:'user_id',index:'user_id', sorttype:"string", formatter: 'showlink', formatoptions:{baseLinkUrl:'#'}}, {name:'user_name',index:'user_name', sorttype:"string"}, {name:'act',index:'act',sortable:false} ], pager: $('#pager'), //The div we have specified, tells jqGrid where to put the pager toppager: true, height: 'auto', width: 1270, rowNum:25, //Number of records we want to show per page rowList:[25,50,100], //Row List, to allow user to select how many rows they want to see per page sortorder: "asc", //Default sort order sortname: "user_id", //Default sort column loadComplete: function() { var myGrid = $("#list"); var ids = myGrid.getDataIDs(); for (var i = 0, idCount = ids.length; i &lt; idCount; i++) { $("#"+ids[i]+" a",myGrid[0]).click(function(e) { var hash=e.currentTarget.hash;// string like "#?id=0" if (hash.substring(0,5) === '#?id=') { var id = hash.substring(5,hash.length); var text = this.textContent; alert("clicked the row with id='"+id+"'. Link contain '"+text+"'"); location.href="http://en.wikipedia.org/wiki/"+text; } e.preventDefault(); }); } for(var i=0;i&lt;ids.length;i++){ var cl = ids[i]; vdelete = "&lt;a href='#' onclick=\"testfn('"+cl+"')\"&gt;Delete&lt;/a&gt;&lt;/ids&gt;"; jQuery("#list").setRowData(ids[i],{act:vdelete}) } }, caption: '', //Grid Name jsonReader: { root: "ROWS", //our data page: "PAGE", //current page total: "TOTAL", //total pages records:"RECORDS", //total records cell: "", id: "0" } }) $("#list").jqGrid('navGrid','#pager', { edit:false, add:false, del:false, search:true, refresh: true, searchtext:"Search", refreshtext: "Refresh", 'cloneToTop':true }); }); </code></pre> <p>Ok, I got this working using getRowData. </p> <pre><code> var rows= jQuery("#list").jqGrid('getRowData'); alert(rows.length); for(var i=0;i&lt;rows.length;i++){ var row=rows[i]; alert(row['user_id']);//get the user_id column value } </code></pre> <p>But I have another question. I want to have a hidden column and get that values. When I am trying the above code, I only get empty values.</p> <pre><code>colModel :[ {name:'user_id',index:'user_id', sorttype:"string", formatter: 'showlink', formatoptions:{baseLinkUrl:'#'}}, {name:'user_name',index:'user_name', sorttype:"string"}, {name:'act',index:'act',sortable:false}, {name:'secretCol', hidden:true} ], </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload