我在设计窗口都能看到DataGrid为什么执行后,页面什么都看不到呢!!请高手帮忙
我在设计窗口都能看到DataGrid为什么执行后,页面什么都看不到呢!!请高手帮忙
一个练习程序
Public Class WebForm1
Inherits System.Web.UI.Page
Protected WithEvents AddressGrid As System.Web.UI.WebControls.DataGrid
#Region " Web 窗体设计器生成的代码 "
'该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub
#End Region
Function CreateAddressEntries() As DataTable '返回值为一个DataTable
Dim Address As New DataTable()
'设置列
Address.Columns.Add("姓名", GetType(String))
Address.Columns.Add("地址", GetType(String))
Address.Columns.Add("电话", GetType(String))
'给每个列赋值,即增加行
Address.Rows.Add(New Object() {"张三", "上海", "13646359898"})
Address.Rows.Add(New Object() {"李四", "苏州", "13847934843"})
Address.Rows.Add(New Object() {"王五", "深圳", "13670001613"})
End Function
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
'定义一个数据源,并调用函数CreateAddressEntries()来为该函数源赋值
Dim Address As DataTable = CreateAddressEntries()
'为AddressGrid设定数据源为Address
'绑定数据源
AddressGrid.DataSource = Address
'绑定数据源
AddressGrid.DataBind()
End Sub
Private Sub AddressGrid_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles AddressGrid.ItemCreated
'定义表单单元
Dim cells As TableCellCollection = e.Item.Cells
If e.Item.ItemType = ListItemType.Header Then '判断是否是列名
cells.Item(0).Attributes.Item("Title") = "姓名" '第一列
cells.Item(1).Attributes.Item("Title") = "地址" '第二列
cells.Item(2).Attributes.Item("Title") = "电话" '第三列
ElseIf (e.Item.ItemType = ListItemType.AlternatingItem) Then
'读取行信息
Dim RowView As DataRowView = CType(e.Item.DataItem, DataRowView)
cells.Item(0).Attributes.Item("Title") = RowView.Row.ItemArray(0).ToString()
cells.Item(0).Attributes.Item("Title") = RowView.Row.ItemArray(1).ToString()
cells.Item(0).Attributes.Item("Title") = RowView.Row.ItemArray(2).ToString()
End If
End Sub
End Class