datagrid怎么样才能得到鼠标事件呢?比如鼠标经过或点击事件!

解决方案 »

  1.   

    给DataGrid的行的行在绑定或者建立的时候给其加上Attributes,如:
    在ItemDataBind里面:
    datagrid.Items[i].Attributes["onclick"]=page.GetPostBackClientHyperlink(btnSelect,"");
    datagrid.Items[i].Attributes.Add("onmouseover","this.style.backgroundColor='#FEE4D0'");
      

  2.   

    1楼的,要这样:private void MyDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    //////////////////配合前台脚本实现鼠标移动到每行上变颜色和点击没列的头上是会变颜色即而实现隐藏列
    e.Item.ID="dg"+e.Item.Cells[0].Text.ToString();
    if(e.Item.ItemIndex>=0)
    {
    e.Item.Attributes.Add("onmouseover","ItemOver(this)");//////在每行上增加脚本处理 onmouseover
    e.Item.Attributes.Add("onmouseout","ItemOut(this)");//////在每行上增加脚本处理 onmouseout
    }
    else
    {
    for(int i=0;i<e.Item.Cells.Count;i++)
    {
    e.Item.Cells[i].ID="dg"+i;
    e.Item.Cells[i].Attributes.Add("onclick","CellsSet(this,'"+(i+1)+"')");//////在每列的头上增加脚本处理
    }
    }
    /////////////////////
    }类似的
      

  3.   

    这关dataview什么事啊,dataview是datatable的子集是数据源的一种表现形式而已,datagrid只是数据显示控件。
      

  4.   

    3楼的还没写相关的js函数,还要在aspx文件中的head部分加上相应的js函数
      

  5.   

    说错了.是Gridview怎么实现!
    :)
      

  6.   

    实际上DataGrid就是一个对应Html中<table>的标签,DataGrid中的每个Item对应于一个<tr>。
    只要,能在后台代码中为每个Item加入onmouseover=‘javascript处理事件’,在前台写相应的javascript代码就可以.WeekZero(星期零)的解决办法,就是其中的一个
      

  7.   

    在页面的代码中加js脚本:
    <script language="javascript">
    if (!objbeforeItem)
    {
    var objbeforeItem=null;
    var objbeforeItembackgroundColor=null;
    }
    function ItemOver(obj)
    {
    objbeforeItembackgroundColor=obj.style.backgroundColor;
    obj.style.backgroundColor="#92d4fe";
    objbeforeItem=obj;
    }function ItemOut(obj)
    {
    if(objbeforeItem)
    {
    objbeforeItem.style.backgroundColor=objbeforeItembackgroundColor;
    }
    }
    </script>