asp.net中如何实现 gridview 单击行时,选中一行时背景色位红,选中另外一行时,上一行恢复原来颜色
asp.net中如何实现gridview单击行时,选中一行时背景色为蓝色,选中另外一行时,上一行恢复原来颜色,选中行为蓝色?不用checkbox和select模板,最好是...
asp.net中如何实现 gridview 单击行时,选中一行时背景色为蓝色,选中另外一行时,上一行恢复原来颜色,选中行为蓝色?不用checkbox和select模板,最好是用c#代码实现,别用js。。
展开
3个回答
展开全部
protected void GVStudent_rowdatabind(object sender, GridViewRowEventArgs e)
{
e.Row.Attributes.Add("onmouseover", "oldBG=this.style.backgroundColor;this.style.backgroundColor='#CCC';");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=oldBG;");
}
{
e.Row.Attributes.Add("onmouseover", "oldBG=this.style.backgroundColor;this.style.backgroundColor='#CCC';");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=oldBG;");
}
追问
不是鼠标移动到上面和离开后,是单击一行时,选中行 变色................
追答
你把onmouseover改成onclick不就行了吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、首先在.aspx页面块中添加javascript
<script type="text/javascript">
var prevselitem=null;
function selectx(row)
{
if(prevselitem!=null)
{
prevselitem.style.backgroundColor='#ffffff';
}
row.style.backgroundColor='PeachPuff';
prevselitem=row;
}
</script>
2、然后修改GridView,添加事件OnRowDataBound
protectedvoid GridView1_RowDataBound(object sender,GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// e.Row.Attributes.Add("onmouseover", "if(this!=prevselitem){this.style.backgroundColor='#Efefef'}");//当鼠标停留时更改背景色
// e.Row.Attributes.Add("onmouseout", "if(this!=prevselitem){this.style.backgroundColor='#ffffff'}");//当鼠标移开时还原背景色
e.Row.Attributes.Add("onclick", e.Row.ClientID.ToString() + ".checked=true;selectx(this)");//点击行变色
//e.Row.Attributes["style"] = "Cursor:hand"; //设置悬浮鼠标指针形状为"小手"
// GridView1.HeaderRow.Cells[10].Visible = false;
// e.Row.Cells[10].Visible = false;//隐藏选择按钮
//String evt = Page.ClientScript.GetPostBackClientHyperlink(sender as System.Web.UI.WebControls.GridView, "Select$" + e.Row.RowIndex.ToString());
// e.Row.Attributes.Add("onclick", evt);//执行选择行GridView1_SelectedIndexChanged事件
}
试试吧 很管用的
记得加分哦
<script type="text/javascript">
var prevselitem=null;
function selectx(row)
{
if(prevselitem!=null)
{
prevselitem.style.backgroundColor='#ffffff';
}
row.style.backgroundColor='PeachPuff';
prevselitem=row;
}
</script>
2、然后修改GridView,添加事件OnRowDataBound
protectedvoid GridView1_RowDataBound(object sender,GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// e.Row.Attributes.Add("onmouseover", "if(this!=prevselitem){this.style.backgroundColor='#Efefef'}");//当鼠标停留时更改背景色
// e.Row.Attributes.Add("onmouseout", "if(this!=prevselitem){this.style.backgroundColor='#ffffff'}");//当鼠标移开时还原背景色
e.Row.Attributes.Add("onclick", e.Row.ClientID.ToString() + ".checked=true;selectx(this)");//点击行变色
//e.Row.Attributes["style"] = "Cursor:hand"; //设置悬浮鼠标指针形状为"小手"
// GridView1.HeaderRow.Cells[10].Visible = false;
// e.Row.Cells[10].Visible = false;//隐藏选择按钮
//String evt = Page.ClientScript.GetPostBackClientHyperlink(sender as System.Web.UI.WebControls.GridView, "Select$" + e.Row.RowIndex.ToString());
// e.Row.Attributes.Add("onclick", evt);//执行选择行GridView1_SelectedIndexChanged事件
}
试试吧 很管用的
记得加分哦
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询