Ernie asked me if it was possible to select a row in CFGRID via JavaScript. I coulda sworn I had covered this before, but my search-fu failed to turn it up. Anyway, here is a super quick example of how to do it. It's works with ColdFusion 9 only - not ColdFusion 8. (Not as far as I know since the Ext API changed.)
<cfgridcolumn name="title" header="Title">
<cfgridcolumn name="posted" header="Posted">
</cfgrid>
</cfform>
<cfform name="test">
<cfgrid autowidth="true" name="entries" format="html" width="600"
bind="url:getentries.cfm?page={cfgridpage}&pagesize={cfgridpagesize}&sort={cfgridsortcolumn}&dir={cfgridsortdirection}"
height="150">
<cfgridcolumn name="id" display="false">
<cfgridcolumn name="body" display="false">
This is a code sample from an old presentation I did on CF Ajax features. It uses a BlogCFC database on the back end and a file that serves up blog entry data to the grid. Since the data isn't relevant to the discussion I'm going to skip posting that. I began by adding a button and whipped up some code to select a row:
<head>
<script>
function pickrow() {
console.log("ran");
g = ColdFusion.Grid.getGridObject("entries");
console.dir(g);
var sm = g.getSelectionModel();
console.dir(sm);
sm.selectRow(2);
console.log("done");
}
</script> </head> <body>
<cfform name="test">
<cfgrid autowidth="true" name="entries" format="html" width="600"
bind="url:getentries.cfm?page={cfgridpage}&pagesize={cfgridpagesize}&sort={cfgridsortcolumn}&dir={cfgridsortdirection}"
height="150">
<cfgridcolumn name="id" display="false">
<cfgridcolumn name="body" display="false"> <cfgridcolumn name="title" header="Title">
<cfgridcolumn name="posted" header="Posted">
</cfgrid>
</cfform> <input type="button" onclick="pickrow()" value="pickrow">
</body>
</html>
<html>
The button is at the bottom and runs pickrow up top. pickrow simply grabs the Grid object, grabs the "SelectionModel" (think of it as an API to get/modify selections in the grid), and then just runs selectRow. I've hard coded it to 2 which will be the 3rd row. As a reminder - don't forget you can always check the Ext docs for deeper integration into ColdFusion's UI objects. Just be sure to check the version # of the API versus what ColdFusion is using natively.