在gridview里单击某一行,该行变色及checkbox被选中
现在我只能点击checkbox时改变其背景色,如果是单击行时checkbox就没有被选中,请高手帮忙
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover","javascript:if(this.bgColor!='#c4d2ea'){this.bgColor='#e0e0e0';}");
e.Row.Attributes.Add("onmouseout", "javascript:if(this.bgColor!='#c4d2ea'){this.bgColor='white';}");
e.Row.Attributes.Add("onclick", "javascript:if(this.bgColor=='#c4d2ea'){this.bgColor='#F0F0E8';}else{this.bgColor='#c4d2ea';}");
//设置悬浮鼠标指针形状为"小手"
e.Row.Attributes["style"] = "Cursor:hand";
}
现在我只能点击checkbox时改变其背景色,如果是单击行时checkbox就没有被选中,请高手帮忙
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover","javascript:if(this.bgColor!='#c4d2ea'){this.bgColor='#e0e0e0';}");
e.Row.Attributes.Add("onmouseout", "javascript:if(this.bgColor!='#c4d2ea'){this.bgColor='white';}");
e.Row.Attributes.Add("onclick", "javascript:if(this.bgColor=='#c4d2ea'){this.bgColor='#F0F0E8';}else{this.bgColor='#c4d2ea';}");
//设置悬浮鼠标指针形状为"小手"
e.Row.Attributes["style"] = "Cursor:hand";
}
http://www.cnblogs.com/chenping-987123/archive/2010/08/27/1809877.html
{
//鼠标滑过时,改变颜色
e.Row.Attributes.Add("onmouseover", "myc = this.style.backgroundColor;this.style.backgroundColor='#507CD1'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=myc"); e.Row.Cells[0].Visible = false;
}
单击变色
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs" Inherits="Default4" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<script language="javascript">
function yourfunction(obj){
for(var i=0;i<22;i++)
{
document.getElementById(i).style.backgroundColor="#400000";
}
document.getElementById(obj).style.backgroundColor="red";
}
function yourfunction2(obj){
alert(obj);
}
</script>
<body>
<form runat="server">
<div>
<asp:GridView runat="server" AutoGenerateColumns="False" DataKeyNames="au_id"
DataSourceID="SqlDataSource1" OnRowCreated="GridView1_RowDataBound" EnableSortingAndPagingCallbacks="True" >
<Columns>
<asp:BoundField DataField="au_id" HeaderText="au_id" ReadOnly="True" SortExpression="au_id" />
<asp:BoundField DataField="au_lname" HeaderText="au_lname" SortExpression="au_lname" />
<asp:BoundField DataField="au_fname" HeaderText="au_fname" SortExpression="au_fname" />
<asp:BoundField DataField="phone" HeaderText="phone" SortExpression="phone" />
<asp:BoundField DataField="address" HeaderText="address" SortExpression="address" />
<asp:BoundField DataField="city" HeaderText="city" SortExpression="city" />
<asp:BoundField DataField="state" HeaderText="state" SortExpression="state" />
<asp:BoundField DataField="zip" HeaderText="zip" SortExpression="zip" />
<asp:CheckBoxField DataField="contract" HeaderText="contract" SortExpression="contract" />
</Columns>
<SelectedRowStyle BackColor="#400000" BorderStyle="Double" />
</asp:GridView>
<asp:SqlDataSource runat="server" ConnectionString="<%$ ConnectionStrings:pubsConnectionString %>"
SelectCommand="SELECT * FROM [authors]"></asp:SqlDataSource>
</div>
</form>
</body>
</html>
后台using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class Default4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.GridView1.SelectedIndex = 0;
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
for (int i = 0; i <= GridView1.Rows.Count; i++)
{
e.Row.Attributes.Add("onclick", "yourfunction(" +i+ ");");
e.Row.Attributes.Add("id",""+i+"");
e.Row.Attributes.Add("ondblclick", "yourfunction2(" + i + ");");
}
}
}
}
window.onload = function(){
var grid = document.getElementById("GridView1").children[0].children;
for(var i=1;i<grid.length;i++){
grid[i].style.cursor="pointer";
grid[i].onclick=function(){
for(var i=1;i<grid.length;i++){
grid[i].style.backgroundColor="white";
}
this.style.backgroundColor="red";
}
}
}
<script>
//调用
function changrow()
{
var evt=getEvent();
var element=evt.srcElement || evt.target;
while(e=e.parentNode)
{
if(e.tagName=="TR")
{
setcolor(e);
break;
}
}
}
//设置背景色
function setcolor(e)
{
var td=e.getElementsByTagName("td")
for(var i=0;i<td.length;i++)
{
if(td[i].bgColor=="#c4d2ea")
{
td[i].bgColor="#F0F0E8";
setchecked(e,false);
}
else
{
td[i].bgColor="#c4d2ea";
setchecked(e,true);
}
}
}
//选取对象
function setchecked(e,flang)
{
var cb=e.getElementsByTagName("input")
for(var i=0;i<cb.length;i++)
{
if(cb[i].type=="checkbox")
{
cb[i].checked=flang;
}
}
}
//获取触发的对象
function getEvent()
{
if(document.all)
{
return window.event;//如果是ie
}
func=getEvent.caller;
while(func!=null)
{
var arg0=func.arguments[0];
if(arg0)
{
if((arg0.constructor==Event || arg0.constructor ==MouseEvent)
||(typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))
{
return arg0;
}
}
func=func.caller;
}
return null;
}
</script>e.Row.Attributes.Add("onclick", "changrow()");
{
//鼠标滑过改变颜色
if (e.Row.RowType == DataControlRowType.DataRow)
{
//鼠标停留时更改背景颜色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#00a9ff'");
//当鼠标离开这个区域时,颜色变化
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
}
}