第一种方法,从datagrid继承,然后override MouseMove这个事件,private int currentHoverRow = 0, oldHoverRow = 0;
protected override void OnMouseMove(System.Windows.Forms.MouseEventArgs e)
{
if(e.Button != MouseButtons.Left)
{
base.OnMouseMove(e);
} DataGrid.HitTestInfo hti = this.HitTest(new Point(e.X, e.Y));
if(hti.Type == DataGrid.HitTestType.RowResize) 
{
return; //no baseclass call
}
if(hti.Type == DataGrid.HitTestType.Cell)
{
currentHoverRow = hti.Row;
if(oldHoverRow > -1)
{
UnSelect(oldHoverRow);
Select(currentHoverRow);
oldHoverRow = currentHoverRow;
}
}
}第二种方式,和上面类似,只不过不继承
dataGrid1.MouseMove += new MouseEventHandler(myMouseMoveMethod);
myMouseMoveMethod方法,可以使用上面的内容。

解决方案 »

  1.   

    大哥,我是在wab应用下试的
    结果有找不到引用等错误,请问大哥我该如何
    定义、引用上面的例子呢?谢谢了先
      

  2.   

    操作DataGrid的ItemDataBound事件private void ID_Grid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    ListItemType itemType = e.Item.ItemType;
    if (itemType == ListItemType.Item || itemType == ListItemType.AlternatingItem )
    {
    e.Item.Attributes.Add("onmouseover","this.bgColor=#0000ff");
    }
    }
      

  3.   

    再加一个
    e.Item.Attributes.Add("onmouseout","this.bgColor=#ffffff");
    e.Item.Style.Add("CURSOR","hand");
      

  4.   

    错了,手的属性应该加到onmouseover事件上去