Monday, August 06, 2007

Creating Click event On Row

Spent some time trying to find a way to simulate the fullRowSelect on a dataGrid, and couldn't really see any obvious way of doing it (all the solutions I tried were pretty complicated, and crashed half of the time), but after a while it hit me that you could use javascript. All you need to do is:
protected void nameOfGridView View_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) {
e.Row.Attributes.Add("onmouseover", "this.style.cursor='hand'");
e.Row.Attributes.Add("onclick", "javascript:__doPostBack" + "('nameOfGridView '" + ", 'Select$" + e.Row.RowIndex + "')");
}
}
Just add this method to the RowDataBound Delegate for your datagrid, and replace nameOfGridView with the name of your gridview. Thats all, easy!
Cheers !