I've done this in the past, but don't have the code right in front of me so I
don't remember the exact events or items. But in general the procedure is as
follows:
Intercept the event that represents the data being bound to the row. I think
its titled something like the DataRowBinding event. In the handler for that
event replace the contents of the first cell with a new control (I think I used
a HyperlinkButton or something like that.). Set the text and command properties
of the HyperlinkButton to whatever you want the link to read. This will
generate a hyperlink in that cell of the row. Have the command set so you can
Identify the row selected. Then when the user clicks on that row there will be
a postback and you can do what needs to be done with that row. In my case it
was to drill down to details on that row of the grid.
If you can't figure out which event and which object to use let me know and I'll
dig out the details from my old code.