Search
Winners

Win Prizes

Social Presence
Twitter Twitter LinkedIn YouTube Google

Like us on Facebook
Advertisements
Top Forums Author
Fri, 31-Oct-2014 Authors
Bhuwan87rawat
10
Jayakumars
10
All Time Authors
Jayakumars
4210
Karthikanbarasan
3455
Chvrsri
3140

Latest members | More ...


(Statistics delayed by 5 minutes)
 Forum Post

Row double click event for gridview

Bravi
Posted by Bravi under Regular Expressions on 1/11/2011 11:40:17 PM | Points: 10 | Views : 14995 | Status : [Member] | Replies : 3


In girdview if we double click on a particular row i need to open an other window
and select a one row and click on open button we have show new window.



Posted by: Karthikanbarasan on: 1/12/2011 [Member] [Moderator] [Microsoft_MVP] [MVP] Silver | Points: 25

Hi!

Use the below code... it takes the values from cells and pass as query string to the new window and u need to make use of the query string as

Request.QueryString["columnname"]



<script type="text/javascript">
function popItUp(querystring) {
window.open('mywindow.aspx' + querystring);
}
</script>

<asp:GridView id="gv" runat="server" OnRowDataBound="gv_RowDataBound">
...
</asp:GridView>

void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string queryString = string.Empty;

for (int x = 0; x < gv.Columns.Count; x++)
{
string separator = (x == 0 ? "?" : "&");
queryString += string.Format("{0}{1}={2}", separator, gv.Columns[x].HeaderText, e.Row.Cells[x].Text);
}

e.Row.Attributes["ondblclick"] = string.Format("popItUp({0})", queryString);
}
}


Let me know if any questions

Thanks
Karthik
www.f5Debug.net

Bravi, if this helps please login to Mark As Answer. | Alert Moderator

Posted by: Bravi on: 1/12/2011 [Member] Starter | Points: 25

Thanks Karthik. This is working. There are few other things that I need for the grid, please find the details below:

1. When the user click on a row the gridview row should get selected / highlighted (by changing the background color) and the selected index should get updated.

2. When the user double clicks on a row the selected row should get highlighted by changing its background color.

Bravi, if this helps please login to Mark As Answer. | Alert Moderator

Posted by: Karthikanbarasan on: 1/12/2011 [Member] [Moderator] [Microsoft_MVP] [MVP] Silver | Points: 25

Hi Bravi,

See the code below...

Following javascript will be used to change the color of the row.

<script type="text/javascript">

//variable that will store the id of the last clicked row
var previousRow;

function ChangeRowColor(row)
{
//If last clicked row and the current clicked row are same
if (previousRow == row)
return;//do nothing
//If there is row clicked earlier
else if (previousRow != null)
//change the color of the previous row back to white
document.getElementById(previousRow).style.backgroundColor = "#ffffff";

//change the color of the current row to light yellow

document.getElementById(row).style.backgroundColor = "#ffffda";
//assign the current row id to the previous row id
//for next row to be clicked
previousRow = row;
}
</script>


Following code will be required on GridView1_RowDataBound event

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) _
Handles GridView1.RowDataBound
If (e.Row.RowType = DataControlRowType.DataRow) Then
e.Row.Attributes.Add("onclick", "javascript:ChangeRowColor('" & e.Row.ClientID & "')")
End If
End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
'FillDataTable is a function that will return a DataTable
'with some values and is available in the code for download.
Me.GridView1.DataSource = Me.FillDataTable()
Me.GridView1.DataBind()
End If
End Sub

Thanks
Karthik
www.f5Debug.net

Bravi, if this helps please login to Mark As Answer. | Alert Moderator

Login to post response


Found interesting? Add this to: