Retain Gridview row back color in ASP.net.
Please try this goodie....
Protected Sub Grd_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles Grd.RowCreated
Dim rowID As String = [String].Empty
If e.Row.RowType = DataControlRowType.DataRow Then
rowID = "row" & Convert.ToString(e.Row.RowIndex)
e.Row.Attributes.Add("id", "row" & Convert.ToString(e.Row.RowIndex))
e.Row.Attributes.Add("onclick", "ChangeRowColor(" & "'" & rowID & "','" & e.Row.RowIndex & "')")
End If
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Attributes.Add("onmouseover", "JavaScript:this.style.cursor='pointer';")
End If
End Sub
<code>
<script type="text/javascript">
var oldColor = '';
var rcnt = '';
function ChangeRowColor(rowID, rowno) {
var color = document.getElementById(rowID).style.backgroundColor;
if (color != 'yellow')
oldColor = color;
var TargetBaseControl = document.getElementById("<%= Grd.ClientID %>");
var totalrowcount = TargetBaseControl.rows.length-2;
for (var iCount = 0; iCount < totalrowcount; ++iCount) {
rcnt = "row" + iCount;
if (rowID != rcnt) {
document.getElementById(rcnt).style.backgroundColor = oldColor;
}
else {
document.getElementById(rcnt).style.backgroundColor = 'yellow';
}
}
}
</script>
<code>
Please try this goodie....
Protected Sub Grd_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles Grd.RowCreated
Dim rowID As String = [String].Empty
If e.Row.RowType = DataControlRowType.DataRow Then
rowID = "row" & Convert.ToString(e.Row.RowIndex)
e.Row.Attributes.Add("id", "row" & Convert.ToString(e.Row.RowIndex))
e.Row.Attributes.Add("onclick", "ChangeRowColor(" & "'" & rowID & "','" & e.Row.RowIndex & "')")
End If
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Attributes.Add("onmouseover", "JavaScript:this.style.cursor='pointer';")
End If
End Sub
<code>
<script type="text/javascript">
var oldColor = '';
var rcnt = '';
function ChangeRowColor(rowID, rowno) {
var color = document.getElementById(rowID).style.backgroundColor;
if (color != 'yellow')
oldColor = color;
var TargetBaseControl = document.getElementById("<%= Grd.ClientID %>");
var totalrowcount = TargetBaseControl.rows.length-2;
for (var iCount = 0; iCount < totalrowcount; ++iCount) {
rcnt = "row" + iCount;
if (rowID != rcnt) {
document.getElementById(rcnt).style.backgroundColor = oldColor;
}
else {
document.getElementById(rcnt).style.backgroundColor = 'yellow';
}
}
}
</script>
<code>