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

📄 datalist6.aspx

📁 《精通ASP.NET网络编程》附带实例
💻 ASPX
字号:
<%@Import Namespace="System.Data"%>
<html>
<head>
<script language="C#" runat="server">
    public DataTable Cart;
    public DataView CartView;
    void Page_Load(Object Sender, EventArgs E) {
        if (Session["ShoppingCart"] == null) {
            Cart = new DataTable();
            Cart.Columns.Add(new DataColumn("Qty", typeof(string)));
            Cart.Columns.Add(new DataColumn("Item", typeof(string)));
            Cart.Columns.Add(new DataColumn("Price", typeof(string)));
            Session["ShoppingCart"] = Cart;
            for (int i=1; i<5; i++) {
                DataRow dr = Cart.NewRow();
                dr[0] = ((int)((i%2)+1)).ToString();
                dr[1] = "物品 " + i.ToString();
                dr[2] = ((double)(1.23 * (i+1))).ToString();
                Cart.Rows.Add(dr);
            }
        }
        else
            Cart = (DataTable)Session["ShoppingCart"];
        CartView = new DataView(Cart);
        CartView.Sort = "Item";
        if (!IsPostBack)
            BindList();
    }
    void BindList() {
        DataList1.DataSource= CartView;
        DataList1.DataBind();
    }
    void DataList_EditCommand(Object Sender, DataListCommandEventArgs e) {
        DataList1.EditItemIndex = (int)e.Item.ItemIndex;
        BindList();
    }
    protected void DataList_CancelCommand(Object Sender, DataListCommandEventArgs e) {
        DataList1.EditItemIndex = -1;
        BindList();
    }
    protected void DataList_UpdateCommand(Object Sender, DataListCommandEventArgs e) {
        string item = ((Label)e.Item.FindControl("Label1")).Text;
        string qty = ((TextBox)e.Item.FindControl("Text1")).Text;
        string price = ((TextBox)e.Item.FindControl("Text2")).Text;
        CartView.RowFilter = "Item='"+item+"'";
        if (CartView.Count > 0)
            CartView.Delete(0);
        CartView.RowFilter = "";
        DataRow dr = Cart.NewRow();
        dr[0] = qty;
        dr[1] = item;
        dr[2] = price;
        Cart.Rows.Add(dr);
        DataList1.EditItemIndex = -1;
        BindList();
    }
    </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" />
                <%# DataBinder.Eval(Container.DataItem, "Item")%>
              </ItemTemplate>
              <EditItemTemplate>
                物品:
                <asp:Label id="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Item")%>'/>
                <br>
                质量:
                <asp:TextBox id="Text1" runat="server" Text='<%# DataBinder.Eval(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 + -