DataList实现编辑,删除,更新,取消,记录转存功能

来源:互联网 发布:日语翻译软件下载 编辑:程序博客网 时间:2024/06/11 06:07
前台代码:

<div>
        <asp:DataList ID="DataList1" runat="server" oneditcommand="DataList1_EditCommand" 
              onitemcommand="DataList1_ItemCommand" 
              oncancelcommand="DataList1_CancelCommand" 
              ondeletecommand="DataList1_DeleteCommand" 
              onupdatecommand="DataList1_UpdateCommand">
            <EditItemTemplate>
                <table style="width:100%;">
                    <tr>
                        <td class="style2">
                            商品名:</td>
                        <td>
                            <asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("ProdctName") %>'></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td class="style2">
                            规格:</td>
                        <td>
                            <asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("ProdctStandard") %>'></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td class="style2">
                            包装率:</td>
                        <td>
                            <asp:TextBox ID="TextBox3" runat="server" Text='<%# Eval("PackagingRatio") %>'></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td class="style2">
                            商品条码:</td>
                        <td>
                            <asp:TextBox ID="TextBox4" runat="server" Text='<%# Eval("ArticleNum") %>'></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td class="style2">
                            价格:</td>
                        <td>
                            <asp:TextBox ID="TextBox5" runat="server" Text='<%# Eval("Price") %>'></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td class="style2">
                            <asp:Button ID="btnUpdate" runat="server" Text="更新" 
                                CommandArgument='<%# Eval("PId") %>' CommandName="update" />
                        </td>
                        <td>
                            <asp:Button ID="btnCancel" runat="server" Text="取消" CommandName="Cancel" />
                        </td>
                    </tr>
                </table>
            </EditItemTemplate>
            <ItemTemplate>
                产品名:<asp:Label ID="Label1" runat="server" Text='<%# Eval("ProdctName") %>'></asp:Label>
                <br />
                规格:<asp:Label ID="Label2" runat="server" Text='<%# Eval("ProdctStandard") %>'></asp:Label>
                <br />
                包装率:<asp:Label ID="Label3" runat="server" Text='<%# Eval("PackagingRatio") %>'></asp:Label>
                <br />
                商品条码:<asp:Label ID="Label4" runat="server" Text='<%# Eval("ArticleNum") %>'></asp:Label>
                <br />
                超市价格:<asp:Label ID="Label5" runat="server" Text='<%# Eval("Price") %>'></asp:Label>
                <br />
                &nbsp;&nbsp;&nbsp;&nbsp;
                <asp:Button ID="btnedit" runat="server" CommandName="edit" Text="编辑" />
                &nbsp;&nbsp;
                <asp:Button ID="btndelete" runat="server" CommandName="delete" 
                    Text="删除" CommandArgument='<%# Eval("PId") %>' />
                <br />
                &nbsp;&nbsp;
                <asp:Button ID="Button3" runat="server" CommandArgument='<%# Eval("PId") %>' 
                    CommandName="Buy" Height="22px" Text="放入购物车" Width="120px" />
            </ItemTemplate>
        </asp:DataList>
        <br />
    </div>

后台代码:


        private void DataListBind()
        {
            string sql = "select * from Product";
            DataTable dt = SqlHelper.ExecuteDataTable(sql);
            this.DataList1.DataSource = dt;
            DataList1.DataBind();
        }

        protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
        {
  if (e.CommandName == "Buy")
            {
                string ProName = (e.Item.FindControl("lblProductName") as Label).Text;
                string ProStandarde = (e.Item.FindControl("lblProductStandard") as Label).Text;
                string ProPackaging = (e.Item.FindControl("lblPackagingRatio") as Label).Text;
                string ProArtialeNum = (e.Item.FindControl("lblArticleNum") as Label).Text;
                string ProPrice = (e.Item.FindControl("lblPrice") as Label).Text;

                string sql = "insert into ShoppingCart(ProductName,ProductStandard,PackagingRatio,ArticleNum,Price) values(@ProductName,@ProductStandard,@PackagingRatio,@ArticleNum,@Price)";
                SqlParameter[] pms = new SqlParameter[] { 
            new SqlParameter("@ProductName",ProName),
            new SqlParameter("@ProductStandard",ProStandarde),
            new SqlParameter("@PackagingRatio",ProPackaging),
            new SqlParameter("@ArticleNum",ProArtialeNum),
            new SqlParameter("@Price",ProPrice) 
        
            };
                SQLHelper.ExecuteNonQuery(sql, pms);
            }

        }

        protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
        {
            this.DataList1.EditItemIndex = e.Item.ItemIndex;
            DataListBind();
        }

        protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
        {
            string name=(e.Item.FindControl("TextBox1") as TextBox).Text.Trim();
            string Stand=(e.Item.FindControl("TextBox2") as TextBox).Text.Trim();
            string ratio=(e.Item.FindControl("TextBox3") as TextBox).Text.Trim();
            string num=(e.Item.FindControl("TextBox4") as TextBox).Text.Trim();
            string price=(e.Item.FindControl("TextBox5") as TextBox).Text.Trim();
            string sql = "update Product set ProdctName=@name,ProdctStandard=@standard,PackagingRatio=@ratio,ArticleNum=@num,Price=@price where PId=@id";
            SqlParameter[] prm = new SqlParameter[]{
              new SqlParameter("name",name), new SqlParameter("standard",Stand), new SqlParameter("ratio",ratio),
              new SqlParameter("num",num),new SqlParameter("price",price),new SqlParameter("id",e.CommandArgument)

            };
            SqlHelper.ExecuteNonQuery(sql,prm);
        }

        protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)
        {
            this.DataList1.EditItemIndex = -1;
            DataListBind();
        }

        protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
        {
            string sql = "delete from Product where PId=@id";
            SqlHelper.ExecuteNonQuery(sql,new SqlParameter("id",e.CommandArgument));
            DataListBind();
        }