在ASP.NET的DataGrid中,鼠标点击某行进行高亮显示的解决方案

首先在页面端加入如下Javascript代码:
----------------------------------------------
<SCRIPT language="javascript">
        
<!--
            
var oldid="";
            
var selid="";
            
function onfocuscolor(line, eventid)
            
{
                
if (oldid == line){
                    line.style.backgroundColor 
= "#ffffff";
                    line.style.color 
= "#003399";
                    oldid 
= "";
                    selid 
= "";
                }

                
else{
                    
if (oldid==""){
                        line.style.backgroundColor 
= "#009999";
                        line.style.color 
= "#CCFF99";
                        oldid 
= line;
                        selid 
= eventid;
                    }

                    
else{
                        line.style.backgroundColor 
= "#009999";
                        line.style.color 
= "#CCFF99";
                        oldid.style.backgroundColor 
= "#ffffff";    
                        oldid.style.color 
= "#003399";
                        oldid 
= line;
                        selid 
= eventid;
                    }

                }

            }

        
-->
        
</SCRIPT>

然后在后台代码端的 ItemDataBound 事件函数中,加入事件代码:
---------------------------------------------------------------------
if ((e.Item.ItemType!=ListItemType.Header)&&(e.Item.ItemType!=ListItemType.Footer))
            
{
               
      e.Item.Attributes.Add("onMousedown""javascript:onfocuscolor(this,'" + e.Item.Cells[1].Text + "')");
            }

 搞定!


不过,有一个遗留问题,如何让Server端知道Client端现在鼠标点击的是哪一行?

有大侠知道吗?请留言,谢谢! 

posted @ 2006-06-14 11:04  PowerProject-企业项目管理系统  阅读(705)  评论(0编辑  收藏  举报