首页 > 代码库 > ERP商品类型管理相关业务处理(三十二)

ERP商品类型管理相关业务处理(三十二)

    根据类型编号获取父类名称

-- =============================================CREATE FUNCTION [dbo].[FN_getParentTypeNameByTypeID](	@TypeID INT)RETURNS NVARCHAR(100)ASBEGIN	DECLARE @parentTypename NVARCHAR(100)    SELECT @parentTypename=TypeName  FROM BioProType    WHERE  TypeID=(SELECT ParentTypeID FROM dbo.BioProType WHERE      TypeID=@TypeID)		RETURN @parentTypenameEND

1.管理页面实现产品类型列表显示(分页)。

前端的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProTypeListShow.aspx.cs" Inherits="BioErpWeb.WholeSaleSystem.Product.ProTypeListShow" %><%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefix="webdiyer" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title></title>    <link href="http://www.mamicode.com/Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" />    <link href="http://www.mamicode.com/Styles/AspNetPagerStyle.css" rel="stylesheet" type="text/css" />    <script src="http://www.mamicode.com/Scripts/jquery-1.4.1.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/Scripts/jquery.validate.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/Scripts/ValidateMessage_ZW.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/Scripts/validateExtender.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/Scripts/jquery.metadata.js" type="text/javascript"></script>   <script src="http://www.mamicode.com/JS/ProTypeChoose.js" type="text/javascript"></script>      <script type="text/javascript">          $().ready(function () {              $("#form1").validate();          });    </script></head><body>    <form id="form1" runat="server">   <asp:ScriptManager ID="ScriptManager1" runat="server">        </asp:ScriptManager>                        <asp:UpdatePanel ID="UpdatePanel1" runat="server">        <ContentTemplate>    <div>         <table class="maintable">             <tr>                 <td colspan="2" class="titlebar">                     <span>产品类型管理</span>                 </td>             </tr>             <tr>                 <td class="tdsearch">                     <asp:Label ID="Label1" runat="server" Text="类型名称:"></asp:Label>                     <asp:TextBox ID="txtName" runat="server"></asp:TextBox>                 </td>                                          <td class="tdsearch"  style=" text-align:right; padding-right:20px;">                     <asp:ImageButton ID="imgbutnSearch" Width="60" Height="22" runat="server"                          ImageUrl="~/Web/images/Btnsearch.gif" onclick="imgbutnSearch_Click" />                      <asp:ImageButton ID="imgbtnNew" runat="server"  Width="60" Height="22"                          ImageUrl="~/Web/images/btnadd.gif" onclick="imgbtnNew_Click"/>                 </td>             </tr>             <tr>                 <td colspan="2" class="bottomtd">                                      <asp:GridView ID="GridView1" Width="100%"  runat="server"   AutoGenerateColumns="False" DataKeyNames="TypeID"                          onrowcommand="GridView1_RowCommand">                         <Columns>                             <asp:TemplateField HeaderText="类型编号" HeaderStyle-HorizontalAlign="Center">                                 <ItemTemplate>                                     <asp:Label ID="Label4" runat="server" Text=‘<%# Eval("TypeID") %>‘></asp:Label>                                 </ItemTemplate>                                 <HeaderStyle HorizontalAlign="Center"></HeaderStyle>                                 <ItemStyle HorizontalAlign="Center" />                             </asp:TemplateField>                               <asp:TemplateField HeaderText="类型名称" HeaderStyle-HorizontalAlign="Center">                                 <ItemTemplate>                                     <asp:Label ID="Label6" runat="server" Text=‘<%# Eval("TypeName") %>‘></asp:Label>                                 </ItemTemplate>                                 <HeaderStyle HorizontalAlign="Center"></HeaderStyle>                                 <ItemStyle HorizontalAlign="Center" />                             </asp:TemplateField>                             <asp:TemplateField HeaderText="父类编号" HeaderStyle-HorizontalAlign="Center">                                 <ItemTemplate>                                     <asp:Label ID="Label5" runat="server" Text=‘<%# Eval("ParentTypeID") %>‘></asp:Label>                                 </ItemTemplate>                                                                  <HeaderStyle HorizontalAlign="Center"></HeaderStyle>                                 <ItemStyle HorizontalAlign="Center" />                             </asp:TemplateField>                                  <asp:TemplateField HeaderText="父类名称" HeaderStyle-HorizontalAlign="Center">                                 <ItemTemplate>                                     <asp:Label ID="lp" runat="server" Text=‘<%# Eval("parentTypeName") %>‘></asp:Label>                                 </ItemTemplate>                                                                  <HeaderStyle HorizontalAlign="Center"></HeaderStyle>                                 <ItemStyle HorizontalAlign="Center" />                             </asp:TemplateField>                                                        <asp:TemplateField HeaderText="操作" HeaderStyle-HorizontalAlign="Center">                                 <ItemTemplate>                                     <asp:ImageButton ID="imgE" CommandName="ImgEdit"   CommandArgument=‘<%#Eval("TypeID") %>‘ runat="server"  ImageUrl="~/Web/images/Edit.gif" Width="50" Height="20"/>                                           <asp:ImageButton ID="imgDel" CommandName="ImgDelete" OnClientClick="return confirm(‘确定删除?‘);"  CommandArgument=‘<%#Eval("TypeID") %>‘ runat="server" ImageUrl="~/Web/images/Delete.gif"  Width="50" Height="20"/>                                 </ItemTemplate>                                 <HeaderStyle HorizontalAlign="Center"></HeaderStyle>                                 <ItemStyle HorizontalAlign="Center" Width="120px" />                             </asp:TemplateField>                                                                                                </Columns>                     </asp:GridView>                 </td>             </tr>             <tr>             <td>    <webdiyer:AspNetPager ID="AspNetPager1" CssClass="paginator"                      CurrentPageButtonClass="cpb" runat="server"                      onpagechanged="AspNetPager1_PageChanged1">                     </webdiyer:AspNetPager>                 </td>             </tr>     </table>    </div>    <div>           <table class="maintable">            <tr>                <td colspan="2" class="titlebar">                    产品类型修改                </td>            </tr>            <tr>                <td class="style1">                    类型名称                </td>                <td class="style1">                    <asp:TextBox ID="txtTypeName" CssClass="{required:true}" runat="server" ></asp:TextBox>                </td>            </tr>            <tr>                <td class="style1">                    所属大类</td>                <td class="style1">                    <asp:TextBox ID="txtSupertTypeID"                         CssClass="{required:true, number:true, min:0}" runat="server"                         ></asp:TextBox><input type="button" value="http://www.mamicode.com/选择" onclick="showProType()"/>                                      <asp:Label ID="Label2" runat="server" ForeColor="Red" Text="(注:如果为0代表顶级父类)"></asp:Label>                </td>            </tr>            <tr>                <td colspan="2" class="bottomtd">                    <asp:Button ID="btnSubmit" runat="server" Text="产品类型保存"                         onclick="btnSubmit_Click" />                </td>            </tr>        </table>       </div>     </ContentTemplate>        </asp:UpdatePanel>    </form></body></html>

 删除节点的通用方法:

  /// <summary>        /// 删除指定表 父级节点下面的所有子节点。        /// </summary>        /// <param name="tableName">表名</param>        /// <param name="ParentNodeID">编号</param>        public static void deleteParentNode(string NodeID)        {            //DataTable dt = "select id from table where upid=" + id;            DataTable dt = SqlComm.GetDataByCondition("BioProType", "TypeID", " ParentTypeID=" + NodeID).Tables[0];               //存在子级的                if(dt.Rows.Count>0)               {                   foreach (DataRow aRow in dt.Rows)                   {                  //递归搜索子级                     deleteParentNode(aRow["TypeID"].ToString());                   }                   //删除子节点后再删除当前节点。                   SqlComm.DeleteTableByCondition("BioProType", " where TypeID=" + NodeID);               }              //删除不存在的               else              {                  SqlComm.DeleteTableByCondition("BioProType", " where TypeID=" + NodeID);               }        }

 后台代码:

 public static int pageindex = 0;        public static int pagesize = 10;        public static string condition = "";        protected void Page_Load(object sender, EventArgs e)        {            ////Session["Userid"] = "29";                  if (!IsPostBack)            {                            getallPageList();            }        }           /// <summary>        /// 查询所有联系人信息        /// </summary>        private void getallPageList()        {            this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("dbo.BioProType", condition);            this.AspNetPager1.PageSize = pagesize;            this.GridView1.DataSource = SqlComm.getDataByPageIndex("dbo.BioProType", "*,parentTypeName=dbo.FN_getParentTypeNameByTypeID(TypeID)", "TypeID", condition, pageindex, pagesize);            this.GridView1.DataBind();                   }        protected void AspNetPager1_PageChanged(object sender, EventArgs e)        {            pageindex = this.AspNetPager1.CurrentPageIndex - 1;            getallPageList();        }        protected void imgbutnSearch_Click(object sender, ImageClickEventArgs e)        {            pageindex = 0;            condition = "";            if (txtName.Text.Trim() != null && this.txtName.Text.Trim().Length != 0)            {                condition = condition + " and TypeName like ‘" + txtName.Text + "%‘";            }                       getallPageList();                   }        protected void imgbtnNew_Click(object sender, ImageClickEventArgs e)        {           Response.Redirect("ProTypeInsert.aspx");        }        BioProType type = null;        static string id = "";        protected void btnSubmit_Click(object sender, EventArgs e)        {            //if (type == null)            //{            //    ScriptManager.RegisterStartupScript(this, this.GetType(), "teet", "alert(‘请选择类型后再修改‘)", true);            //    return;            //}            BioProType type = new BioProType();             type.TypeID = int.Parse(id);             type.TypeName =this.txtTypeName.Text;             type.ParentTypeID =int.Parse(this.txtSupertTypeID.Text);             BioProTypeBLL typebll = new BioProTypeBLL();             if (typebll.ProTypeUpdate(type) != 0)             {                 getallPageList();             }             else             {                 ScriptManager.RegisterStartupScript(this, this.GetType(), "teet", "alert(‘修改不成功‘)", true);                        }        }                protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)        {            BioProTypeBLL typebll = new BioProTypeBLL();            type = new BioProType();            if (e.CommandName == "ImgEdit")            {                id = e.CommandArgument.ToString();                type = typebll.getProTypeByTypeID(id);                this.txtTypeName.Text = type.TypeName;                this.txtSupertTypeID.Text = type.ParentTypeID.ToString();            }            if (e.CommandName == "ImgDelete")            {                string Typeid = e.CommandArgument.ToString();                SqlComm.deleteParentNode(Typeid);                getallPageList();            }        }        /// <summary>        /// 分页        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        protected void AspNetPager1_PageChanged1(object sender, EventArgs e)        {            pageindex = this.AspNetPager1.CurrentPageIndex - 1;            getallPageList();        }

 

ERP商品类型管理相关业务处理(三十二)