DataList里套DataGrid的事件

来源:互联网 发布:wait java 编辑:程序博客网 时间:2024/04/29 08:13

要加入的DataGrid的事件:

#region 客户端事件
  private void dg_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  {
   #region 鼠标经过的行变色
   switch(e.Item.ItemType)
   {
    case ListItemType.AlternatingItem:
    case ListItemType.EditItem:
    case ListItemType.Item:
    {
     e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='silver'");
     e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='white'");
     break;
    }
   }
   #endregion

   #region 绑定删除数据时的提示
   switch(e.Item.ItemType)
   {
    case ListItemType.Item:
    case ListItemType.AlternatingItem:
    case ListItemType.EditItem:
    {
     Label l = (Label)e.Item.FindControl("Label8");
     l.Text = "sdf";
     break;
    }
   }
   #endregion
  
  }
  #endregion

或者:

#region 客户端事件
  private void dg_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  {
   string info = string.Empty;

   #region 鼠标经过的行变色
   switch(e.Item.ItemType)
   {
    case ListItemType.AlternatingItem:
    case ListItemType.EditItem:
    case ListItemType.Item:
    {
     e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='silver'");
     e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='white'");
     break;
    }
   }
   #endregion

   #region 绑定删除数据时的提示
   switch(e.Item.ItemType)
   {
    case ListItemType.Item:
    case ListItemType.AlternatingItem:
    case ListItemType.EditItem:
    {
     Label l = (Label)e.Item.FindControl("Label8");
     string forumid = ((DataGrid)sender).DataKeys[e.Item.ItemIndex].ToString();
     IList data = RG.SuperStarOA.Forums.Business.Forumowers.QuerySomeForumowersByForumID(forumid,out info);
     if(data != null)
     {
      for(int i=0;i<data.Count;i++)
      {
       RG.SuperStarOA.Forums.Business.Forumowers f = (RG.SuperStarOA.Forums.Business.Forumowers)data[i];
       RG.SuperStarOA.PersonManager.Business.Persones p = RG.SuperStarOA.PersonManager.Business.Persones.CreatePersones();
       p = p.LoadOnePersones(f.Owerid,out info);
       l.Text += p.Name + "<br>";
      }
     }
     break;
    }
   }
   #endregion
  
  }
  #endregion

然后在DataList的ItemCreated事件里面加入动态生成的handler:

#region 加入DataGrid的事件
  private void DataList1_ItemCreated(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
  {
   #region 绑定删除数据时的提示
   switch(e.Item.ItemType)
   {
    case ListItemType.Item:
    case ListItemType.AlternatingItem:
    case ListItemType.EditItem:
    {
     DataGrid dg = (DataGrid)e.Item.FindControl("DataGrid1");
     dg.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(dg_ItemDataBound);
     break;
    }
   }
   #endregion
  }
  #endregion