当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  ASP.NET中Datagrid常错误(3)

 ASP.NET中Datagrid常错误(3)

点击次数:16 次 发布日期:2008-11-26 13:50:19 作者:源代码网
源代码网推荐      Sub Page_Load
源代码网推荐   If Not ViewState("EditItemIndex") Is Nothing Then
源代码网推荐    Datagrid1.EditItemIndex = ViewState("EditItemIndex")
源代码网推荐   End If
源代码网推荐   If Not ViewState("CurrentPageIndex") Is Nothing Then
源代码网推荐    Datagrid1.CurrentPageIndex = ViewState("CurrentPageIndex")
源代码网推荐   End If
源代码网推荐   BindGrid()
源代码网推荐  End Sub
源代码网推荐  
源代码网推荐  Sub BindGrid()
源代码网推荐   Dim DV As DataView
源代码网推荐   DV = GetDataSource()
源代码网推荐   DV.Sort = ViewState("SortExpression")
源代码网推荐   Datagrid1.DataSource = DV
源代码网推荐   Datagrid1.DataBind()
源代码网推荐  End Sub
源代码网推荐  
源代码网推荐  Sub Datagrid1_SortCommand(s As Object, e As DataGridSortCommandEventArgs)
源代码网推荐   ViewState("SortExpression") = e.SortExpression
源代码网推荐   BindGrid()
源代码网推荐  End Sub
源代码网推荐  
源代码网推荐  Sub Datagrid1_EditCommand(s As Object, e As DatagridCommandEventArgs)
源代码网推荐   Datagrid1.EditItemIndex = e.Item.ItemIndex
源代码网推荐   ViewState("EditItemIndex") = e.Item.ItemIndex
源代码网推荐   BindGrid()
源代码网推荐  End Sub
源代码网推荐  
源代码网推荐  Sub Datagrid1_PageIndexChanged(s as Object, e As DataGridPageChangedEventArgs)
源代码网推荐   Datagrid1.CurrentPageIndex = e.NewPageIndex
源代码网推荐   ViewState("CurrentPageIndex") = e.NewPageIndex
源代码网推荐   BindGrid()
源代码网推荐  End Sub
源代码网推荐  
源代码网推荐    使用 ItemDataBound 或 ItemCreated 事件时,忘记检查适当的 ListItemType
源代码网推荐  
源代码网推荐    Datagrid 控件对每个数据行引发两个事件。首次将每行添加到 Datagrid 时将引发 ItemCreated 事件,将数据绑定到每行时将引发 ItemDataBound 事件。添加单元格到 Datagrid 的表格输出时,这些事件可以用于控制每个单元格的外观或内容。例如,可以基于数值的范围修改单元格的背景颜色。但关键是要记住,这些事件的引发针对的是所有 Datagrid 项目类型,包括页眉、页脚和分页程序项目。如果执行 ItemDataBound 事件期间,没有在引用项目的数据之前仔细检查项目类型,第一个项目(通常是标题行)就将发生错误。如果 Datagrid 启用了分页,且将其设置为在顶端显示,那么第一个项目就会成为分页程序项目。以下示例代码显示如何在引用项目数据之前进行正确的 ListItemType 检查。不要忘了 AlternatingItem!
源代码网推荐  
源代码网推荐  Sub DataGrid1_ItemDataBound(source As Object,e As DataGridItemEventArgs)
源代码网推荐  If (e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem)   Then
源代码网推荐    If e.Item.DataItem("ForumDate") < DateTime.Today Then
源代码网推荐      e.Item.Cells(1).BackColor =System.Drawing.Color.FromName("#ffccff")
源代码网推荐    End If
源代码网推荐   End If
源代码网推荐  End Sub
源代码网推荐  
源代码网推荐  
源代码网推荐    需要对生成的 HTML 有更多的控制时,过多地使用了 Datagrid(Repeater 也许是更好的选择)
源代码网推荐  
源代码网推荐    如果懒散的程序员喜欢 Datagrid 控件(因为 Datagrid 控件为他们完成了很多工作),那么有着极强控制欲的程序员必定喜欢 Repeater 控件。如果需要或希望完全控制创建的所有 HTML,请使用 Repeater 控件,它能帮助您完成该任务。Repeater 控件在性能上也略占优势,因为它不像 Datagrid 控件的所有内置功能那样占用系统资源。也可以考虑使用折衷的 DataList 控件,它具备编辑和排序功能,同时还具有在一行内重复显示记录的功能。
源代码网推荐  
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


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