?? ex17vb.aspx
字號:
<%@ Import Namespace="System.Data" %>
<%@ Page Language = "VB" %>
<html>
<title>第十七例 DataGrid、DataList及Repeater控件的使用</title>
<script runat="server">
Function CreateDataSource() As ICollection
Dim dt As New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("PriceValue", GetType(String)))
dt.Columns.Add(New DataColumn("DescriptionValue", GetType(String)))
Dim i As Integer
For i = 0 To 5
dr = dt.NewRow()
dr(0) = "Item " & i.ToString()
dr(1) =(1.23 *(i + 1)).ToString()
dr(2) = "Item " + i.ToString() + "的描述"
dt.Rows.Add(dr)
Next i
Dim dv As New DataView(dt)
Return dv
End Function '構造數據源函數CreateDataSource
Sub Change1(sender As Object, e As EventArgs)
If DropDownList1.SelectedIndex = 0 Then
DataGrid1.DataSource = CreateDataSource()
DataGrid1.DataBind()
DataList1.Visible=false
Repeater1.Visible=false
DataGrid1.Visible=true
Else If DropDownList1.SelectedIndex = 1 Then
DataList1.DataSource = CreateDataSource()
DataList1.DataBind()
DataGrid1.Visible=false
Repeater1.Visible=false
DataList1.Visible=true
Else
Repeater1.DataSource = CreateDataSource()
Repeater1.DataBind()
DataGrid1.Visible=false
DataList1.Visible=false
Repeater1.Visible=true
End If
End Sub 'End of Change1
Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
DataList1.DataSource = CreateDataSource()
DataList1.DataBind()
DataGrid1.Visible=false
Repeater1.Visible=false
DataList1.Visible=true
End If
End Sub '在初始化頁面時用DataList顯示數據
</script>
<body>
<form runat=server>
<h3><font face="Verdana">第十七例 DataGrid、DataList及Repeater控件的使用</font></h3>
<asp:DataGrid id="DataGrid1" runat="server" BorderColor="black" BorderWidth="1" CellPadding="3" AutoGenerateColumns="true" runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<AlternatingItemStyle BackColor="Gainsboro">
</AlternatingItemStyle>
</asp:DataGrid><!-- DataGrid的AuotGenerateColumns屬性默認設定為True,不需要自定義其各元素的模板等內容 -->
<asp:DataList id="DataList1" runat="server" BorderColor="black" CellPadding="3" Font-Name="Verdana" Font-Size="8pt" ExtractTemplateRows="true" GridLines="Both">
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<AlternatingItemStyle BackColor="Gainsboro">
</AlternatingItemStyle>
<HeaderTemplate>
<asp:Table id="Table1" runat="server">
<asp:TableRow>
<asp:TableCell
ColumnSpan="2">
DataList
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</HeaderTemplate>
<ItemTemplate>
<asp:Table id="Table2" runat="server">
<asp:TableRow>
<asp:TableCell
Text='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'>
</asp:TableCell>
<asp:TableCell
Text='<%# DataBinder.Eval(Container.DataItem, "PriceValue") %>'>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell
ColumnSpan="2"
Text='<%# DataBinder.Eval(Container.DataItem, "DescriptionValue") %>'>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</ItemTemplate>
</asp:DataList>
<!-- ExtractTemplateRows設定為True可以根據需要在DataList的每個單元中再定義Table -->
<asp:Repeater id="Repeater1" runat="server">
<HeaderTemplate>
<font size=5><b>Repeater:</b></font><br>
</HeaderTemplate>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>的值為:<%# DataBinder.Eval(Container.DataItem, "PriceValue") %>
</ItemTemplate>
<SeparatorTemplate>,</SeparatorTemplate>
</asp:Repeater>
<!-- Repeater控件的靈活使用,可以任意使用數據源數據根據需要來顯示(不一定為表格形式) -->
<br>
<b>選擇使用哪種控件顯示數據:</b>
<asp:DropDownList id="DropDownList1" runat="server"
AutoPostBack=True OnSelectedIndexChanged="Change1">
<asp:ListItem>DataGrid控件顯示</asp:ListItem>
<asp:ListItem Selected>DataList控件顯示</asp:ListItem>
<asp:ListItem>Repeater控件顯示</asp:ListItem>
</asp:DropDownList> (默認為DataList)
</form>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -