Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
Dim dt As DataTable
Dim dr As DataRow
Dim i As Integer
'建立DataTable
dt = New DataTable
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Integer)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("DateTimeValue", GetType(DateTime)))
dt.Columns.Add(New DataColumn("BooleanValue", GetType(Boolean)))
'填充一些数据
For i = 1 To 9
dr = dt.NewRow()
dr(0) = i
dr(1) = "Item " + i.ToString()
dr(2) = DateTime.Now.ToShortTimeString
If (i Mod 2 <> 0) Then
dr(3) = True
Else
dr(3) = False
End If
'把数据行添加到表
dt.Rows.Add(dr)
Next
GridView1.DataSource = New DataView(dt)
GridView1.DataBind()
End If
End Sub
下面的例子演示了如何绑定到Hashtable。
Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
Dim h As Hashtable = new Hashtable()
h.Add ("key1", "value1")
h.Add ("key2", "value2")
h.Add ("key3", "value3")
MyDataList.DataSource = h
MyDataList.DataBind
End If
End Sub
通常情况下,你可能希望绑定到页面或控件之前先处理数据。下面的例子演示了如何绑定到表达式和方法的返回值。
Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
Dim values as ArrayList= new ArrayList()
values.Add (0)
values.Add (1)
values.Add (2)
values.Add (3)
values.Add (4)
values.Add (5)
values.Add (6)
DataList1.DataSource = values
DataList1.DataBind
End If
End Sub
Function EvenOrOdd(number As Integer) As String
If (number Mod 2 <> 0) Then
Return "Odd"
Else
Return "Even"
End If
End Function
<asp:DataList id="DataList1" ……>
<ItemTemplate>
Number Value: <%# Container.DataItem %>
Even/Odd: <%# EvenOrOdd(Container.DataItem) %>
</ItemTemplate>
</asp:DataList>
ASP.NET页面框架组件提供了一个静态的方法,它估算延迟绑定(late-bound)的数据绑定表达式并可以选择把其结果格式化为字符串。在这种情况下,DataBinder.Eval很方便,因为它消除了开发者把估值转会为期望的数据类型所必须执行的很多显式转化工作。当模板化列表中有数据绑定控件的时候,它特别有用处,因为在那种情况下,通常数据行和数据字段都必须转换。