在ASP.NET中实现鼠标移动悬停在DataGrid时高亮显示这一行的方法

本文介绍如何使用JavaScript为WebForm页面中的DataGrid实现行高亮效果,并提供代码示例。同时,还介绍了如何通过添加脚本防止DataGrid表头随页面滚动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在WebFrom页面中添加JavaScript 代码块

 1 < script >
 2          // 鼠标移动时高亮显示所悬停的行
 3          function  SetDataGridBackColor(color,isMouseOut)
 4          {
 5            var tr=event.srcElement.parentElement;
 6            
 7            var iRowIndex = tr.rowIndex ;
 8            if( isMouseOut )
 9            {
10                if( ( iRowIndex % 2 ) == 1 )
11                {
12                    tr.style.backgroundColor = color;
13                }

14                else
15                {
16                    tr.style.backgroundColor = "#EAE9D7";
17                }

18            }

19            else
20            {
21                tr.style.backgroundColor = color;
22            }

23        }

24          </ script >
然后在aspx文件中的DataGrid事件中去注册这个脚本
     private   void  dgTemp_PreRender( object  sender, System.EventArgs e)
        
{
            
for (int i = 0 ; i < dgTemp.Items.Count; i++)
            
{
                dgTemp.Items[i].Attributes.Add(
"onmouseover","SetDataGridBackColor('LightBlue',false);");

                dgTemp.Items[i].Attributes.Add(
"onmouseout","SetDataGridBackColor('white',true);");
            }

        }

为了防止DataGrid标头的滚动,可以在增加这么一个脚本
         private   void  dgTemp_ItemCreated( object  sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        
{
            
//使DataGrid标头不滚动
            if (e.Item.ItemType == ListItemType.Header)
            
{
                e.Item.Style.Add(
"position","relative;top:expression(document.all['dgBHGJBSZ'].offsetParent.scrollTop);");
            }

        }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值