Search

Spry: Custom Columns

3 min read
2 views

A few days ago I This simple XML file will return two people. The date value for each will be set to the current time. If used as is, the date would look like this: {ts '2006-12-27 09:20:35'} Pretty ugly, eh? So lets make it nicer. First lets add an "Observer" to the Spry dataset. This tells Spry to run a function on any type of change in the data set: data.addObserver(processData); Now lets look at the processData function: function processData(notificationType, notifier, thisdata) {     if (notificationType != "onPostLoad") return;     var rows = data.getData();     var numRows = rows.length;     for (var i = 0; i First note that we check the event type with the notificationType variable. (I based my function on the Adobe sample, so thanks go to them.) We get the data and the number of rows and then simply loop over the rows of data. To add my custom column, I simply set a new value in the row. If I did: row.goober = "foo"; Then the dataset would have a new column named goober with a static value of foo. In my sample code, I wrote two custom functions, cfToDate, and myDateFormat. These are ugly functions that parse the date sent from ColdFusion and handle the formatting of the date. This could probably be done better, but you get the idea. I've included them in the zip (see Download link below). Anyway - this is a very handy feature! Obviously you want to correct the XML server side if at all possible, but if you can't, this is a great way to handle it. http://ray.camdenfamily.com

Raymond Camden is Vice President of Technology for roundpeg, Inc. A long time ColdFusion user, Raymond has worked on numerous ColdFusion books and is the creator of many of the most popular ColdFusion community web sites. He is an Adobe Community Expert, user group manager, and the proud father of three little bundles of joy.

Suggest a Correction

Found an error or have a suggestion? Let us know and we'll review it.

Share this article

Comments (0)

Please sign in to leave a comment.

No comments yet. Be the first to comment!