[ASP.NET]DataGrid鼠标经过感知以及点击行弹出窗口

很多人说很难,其实就这几行代码。只要在DataGrid1的ItemDataBound中写入下代码即可

private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{  
      if(e.Item.ItemIndex>=0)  //此行可以删除掉
      {
                //弹出窗口代码
 e.Item.Attributes.Add("onclick","window.open('WebForm2.aspx?ZoneNo="+e.Item.Cells[0].Text+"','','Toolbar=no')");
 e.Item.Attributes.Add("onMouseOver","this.style.backgroundColor='#e9e9e9'; this.style.cursor='hand';");
 e.Item.Attributes.Add("onMouseOut","this.style.backgroundColor='#f7f7f7';");  
      }
}
如果想Click行时进入编辑状态,还可以在DataGrid1中添加一列Edit模板列,并将该列设置成隐藏状态,然后在ItemDataBound事件中加入如下代码(比如第5列为Edit列)
    LinkButton oSelect = (LinkButton)e.Item.Cells[4].Controls[0];
    e.Item.Attributes.Add("onclick",Page.GetPostBackClientHyperlink (oSelect,""));
这样点击行就如同点击了Edit列一样。

你可能感兴趣的:(datagrid)