当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  ASP.NET中Web DataGrid的使用指南(3)

 ASP.NET中Web DataGrid的使用指南(3)

点击次数:29 次 发布日期:2008-11-26 12:35:47 作者:源代码网
源代码网推荐      if (e.Item.ItemType == ListItemType.Header)
源代码网推荐  
源代码网推荐  {
源代码网推荐  
源代码网推荐  e.Item.Cells[0].ColumnSpan = 2;
源代码网推荐  
源代码网推荐  e.Item.Cells[0].Text = "大类1</td><td>大类2</td></tr><tr><td>" + e.Item.Cells[0].Text;
源代码网推荐  
源代码网推荐  }
源代码网推荐  
源代码网推荐  用这个方法可以为任意添加新行。
源代码网推荐  
源代码网推荐  2、设置绑定列或者自动生成列的编辑框宽度
源代码网推荐  
源代码网推荐  请在你的ItemDataBound事件中加入一下代码:
源代码网推荐  
源代码网推荐  if (e.Item.ItemType == ListItemType.EditItem)
源代码网推荐  
源代码网推荐  {
源代码网推荐  
源代码网推荐  for (int i = 0; i < e.Item.Cells.Count; i++)
源代码网推荐  
源代码网推荐  {
源代码网推荐  
源代码网推荐  TextBox txt = (TextBox)e.Item.Cells.Controls[0];
源代码网推荐  
源代码网推荐  txt.Width = Unit.Pixel(50);
源代码网推荐  
源代码网推荐  }
源代码网推荐  
源代码网推荐  }
源代码网推荐  
源代码网推荐  3、处理在DataGrid中的DropDownList的事件
源代码网推荐  
源代码网推荐  DropDownList没有CommandName属性,所以不能用ItemCommand事件,不过你可以这样试试:
源代码网推荐  
源代码网推荐  在DataGrid的模板列中加入的DropDownList控件
源代码网推荐  
源代码网推荐  <asp:DropDownList runat="server" id="ddl" AutoPostBack="True" OnSelectedIndexChanged="ddl_SelectedIndexChanged" />
源代码网推荐  
源代码网推荐  然后你在.aspx.cs中加入一个函数
源代码网推荐  
源代码网推荐  protected void ddl_SelectedIndexChanged(object sender, System.EventArgs e) //一定要声明成protected或者public,不能是private的。
源代码网推荐  
源代码网推荐  {
源代码网推荐  
源代码网推荐  //在这里就可以加入其他代码
源代码网推荐  
源代码网推荐  }
源代码网推荐  
源代码网推荐  3.1、在上面的事件中怎样得到本行其他Cell的值呢?
源代码网推荐  
源代码网推荐  我们知道,DataGrid完全是一个Table结构的控件,DataGrid包含DataGridItem,每个DataGridItem又包含TableCell,那么,我们就可以在TableCell的某个控件中,利用控件的Parent来得到TableCell,再利用TableCell的Parent,就可以得到DataGridItem了。
源代码网推荐  
源代码网推荐  protected void ddl_SelectedIndexChanged(object sender, System.EventArgs e) //一定要声明成protected或者public,不能是private的。
源代码网推荐  
源代码网推荐  {
源代码网推荐  
源代码网推荐  DropDownList ddl = (DropDownList)sender;
源代码网推荐  
源代码网推荐  TableCell cell = (TableCell)ddl.Parent;
源代码网推荐  
源代码网推荐  DataGridItem item = (DataGridItem)cell.Parent;
源代码网推荐  
源代码网推荐  Response.Write(item.Cells[0].Text);
源代码网推荐  
源代码网推荐  }
源代码网推荐  
源代码网推荐  4、怎样得到Header、Footer、Pager里的控件
源代码网推荐  
源代码网推荐  方法一:在ItemCreated或者ItemDataBound中,具体代码就不在多写了
源代码网推荐  
源代码网推荐  方法二:遍历DataGrid的所有Item(注意,不是遍历DataGrid1.Items下的Item)
源代码网推荐  
源代码网推荐  foreach (DataGridItem item in DataGrid1.Controls[0].Controls)
源代码网推荐  
源代码网推荐  {
源代码网推荐  
源代码网推荐  if (item.ItemType == ListItemType.Header)
源代码网推荐  
源代码网推荐  {
源代码网推荐  
源代码网推荐  //用item.FindControl查找相应的控件
源代码网推荐  
源代码网推荐  }
源代码网推荐  
源代码网推荐  }
源代码网推荐  
源代码网推荐  大家可能会注意到,这里有个DataGrid1.Controls[0].Controls,这表示,DataGrid1下,有一个子控件,这个子控件是DataGridTable类型,他下面才是DataGridItem集合
源代码网推荐  
源代码网推荐  在DataList中,下面的子控件直接就是DataListItem了,而没有Table:
源代码网推荐  
源代码网推荐  foreach (DataListItem item in DataList1.Controls)
源代码网推荐  
源代码网推荐  {
源代码网推荐  
源代码网推荐  //....
源代码网推荐  
源代码网推荐  }
源代码网推荐  
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华