zoukankan      html  css  js  c++  java
  • ERP商品类型管理相关业务处理(三十五)

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

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

    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="../../Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" />
        <link href="../../Styles/AspNetPagerStyle.css" rel="stylesheet" type="text/css" />
        <script src="../../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
        <script src="../../Scripts/jquery.validate.js" type="text/javascript"></script>
        <script src="../../Scripts/ValidateMessage_ZW.js" type="text/javascript"></script>
        <script src="../../Scripts/validateExtender.js" type="text/javascript"></script>
        <script src="../../Scripts/jquery.metadata.js" type="text/javascript"></script>
       <script src="../../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="选择" 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();
            }
    
  • 相关阅读:
    Atitit 服务器运维linux常用命令attilax总结.docx 1. 重要命令 1 1.1. 重启系列 1 1.2. 重启nginx 1 1.3. 重启tomcat 1 2. 其他 2 2
    Atitit 云计算体系树.docx Atitit 云计算之道 attilax著 艾龙 著 serverless bomb 1. 什么才是云计算的根本特征.. 2 2. 云计算体系 2 3. “云
    Atitit uri url格式规范与解析器 .URIparser 理解URI和URL的区别,我们引入URN这个概念。 URI = Universal Resource Identifier 统一资
    Atitit 2017年的技术趋势与未来的大技术趋势 1. 2017年的技术趋势 2 1.1. Web not native 2 1.2. 更加移动优先 ,,more spa 3 1.3. Ar
    Atitit 知识图谱管理 谱存储选型 与查询 目录 1. 知识图谱存储系统的选型。 1 1.1. 图数据库 neo4j 适合大规模数据 1 1.2. 关系数据库 小规模 2 2. 知识图谱查询语言
    Atitit rest框架选型总结 Resteasy 实现 但是麻烦 作为JAXRS的标准实现,RestEasy还具有以下亮点特性:   1)不需要配置文件,只要把JARs文件放到类路径里面
    Atitit 2016 技术趋势与没落技术 目录 1.1. 流水线 即代码通过编码而非配置CI/CD运行工具的方式,来定义部署 流水线 1 1.2. 将APIs当作产品 1 1.3. 无服务器架构
    Atitit 开发效率的提升艺术 艾提拉著 目录 1. 主要几个层次上简化开发 2 1.1. 管理创新 2 1.2. 开发体系方法使用简单方法 2 1.3. 技术选型使用简单框架模式 2 1.4.
    Atitit 2018 技术趋势与没落技术总结 目录 1. 2018 技术雷达 1 1.1. HOSTED IDENTITY MANAGEMENT AS A SERVICE (SaaS)身份管理
    Atitit 知识图谱 知识抽取 信息抽取的总结艾提拉总结 目录 1. 知识抽取 1 2. 数据源主要来自两种渠道( 2 2.1. 内部结构化数据vs 外部网页数据 2 3. 2. 知识图谱的数据来
  • 原文地址:https://www.cnblogs.com/sunliyuan/p/7287288.html
Copyright © 2011-2022 走看看