⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datalist5.aspx

📁 《精通ASP.NET网络编程》附带实例
💻 ASPX
字号:
<%@ Import Namespace="System.Data" %>
<html>
<head>
<script language="VB" runat="server">
    Dim Cart As DataTable
    Dim CartView As DataView
    Sub Page_Load(sender As Object, e As EventArgs)
        Dim dr As DataRow
        Dim I As Integer
        If Session("ShoppingCart") Is Nothing Then
            Cart = New DataTable()
            Cart.Columns.Add(new DataColumn("Qty", GetType(String)))
            Cart.Columns.Add(new DataColumn("Item", GetType(String)))
            Cart.Columns.Add(new DataColumn("Price", GetType(String)))
            Session("ShoppingCart") = Cart
            For I = 1 To 4
                dr = Cart.NewRow()
                If (i Mod 2 <> 0) Then
                    dr(0) = "2"
                Else
                    dr(0) = "1"
                End If
                dr(1) = "物品 " & i.ToString
                dr(2) = (1.23 * (i + 1)).ToString
                Cart.Rows.Add(dr)
            Next
        Else
            Cart = Session("ShoppingCart")
        End If
        CartView = New DataView(Cart)
        CartView.Sort="Item"
        If Not IsPostBack Then
           BindList
        End If
    End Sub
    Sub BindList()
        DataList1.DataSource= CartView
        DataList1.DataBind
    End Sub
    Sub DataList_EditCommand(sender As Object, e As DataListCommandEventArgs)
        DataList1.EditItemIndex = e.Item.ItemIndex
        BindList
    End Sub
    Sub DataList_CancelCommand(sender As Object, e As DataListCommandEventArgs)
        DataList1.EditItemIndex = -1
        BindList
    End Sub
    Sub DataList_UpdateCommand(sender As Object, e As DataListCommandEventArgs)
        Dim itemLabel As Label = e.Item.FindControl("Label1")
        Dim qtyText As TextBox = e.Item.FindControl("Text1")
        Dim priceText As TextBox = e.Item.FindControl("Text2")
        Dim item As String = itemLabel.Text
        Dim qty As String = qtyText.Text
        Dim price As String = priceText.Text
        CartView.RowFilter = "Item='" & item & "'"
        If CartView.Count > 0 Then
            CartView.Delete(0)
        End If
        CartView.RowFilter = ""
        Dim dr As DataRow = Cart.NewRow()
        dr(0) = qty
        dr(1) = item
        dr(2) = price
        Cart.Rows.Add(dr)
        DataList1.EditItemIndex = -1
        BindList
    End Sub
</script>
</head>
<body>
    <h3><font face="Verdana">使用DataList编辑数据</font></h3>
    <p></p>
    <form runat=server>
    <font face="Verdana" size="-1">
        <asp:DataList id="DataList1" runat="server"
            BorderColor="black"
            BorderWidth="1"
            GridLines="Both"
            CellPadding="3"
            CellSpacing="0"
            Font-Name="Verdana"
            Font-Size="8pt"
            Width="150px"
            HeaderStyle-BackColor="#aaaadd"
            AlternatingItemStyle-BackColor="Gainsboro"
            EditItemStyle-BackColor="lightgreen"
            OnEditCommand="DataList_EditCommand"
            OnUpdateCommand="DataList_UpdateCommand"
            OnCancelCommand="DataList_CancelCommand"
            >
              <HeaderTemplate>
                所有物品
              </HeaderTemplate>
              <ItemTemplate>
                <asp:LinkButton id="button1" runat="server" Text="编辑" CommandName="edit" />
                <%# Container.DataItem("Item")  %>
              </ItemTemplate>
              <EditItemTemplate>
                物品:
                <asp:Label id="Label1" runat="server" Text='<%# Container.DataItem("Item")%>' />
                <br>
                质量:
                <asp:TextBox id="Text1" runat="server" Text='<%# Container.DataItem("Qty")%>' />
                <br>
                价格:
                <asp:TextBox id="Text2" runat="server" 
Text='<%# DataBinder.Eval(Container.DataItem, "Price") %>' />
                <br>
                <asp:LinkButton id="button2" runat="server" Text="更新" CommandName="update" />
                <asp:LinkButton id="button3" runat="server" Text="取消" CommandName="cancel" />
              </EditItemTemplate>
        </asp:DataList>
    </font>
    </form>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -