在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 + "')");
}
----------------------------------------------
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
然后在后台代码端的 ItemDataBound 事件函数中,加入事件代码:
---------------------------------------------------------------------
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
搞定!
不过,有一个遗留问题,如何让Server端知道Client端现在鼠标点击的是哪一行?
有大侠知道吗?请留言,谢谢!