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
     [email protected])

	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();
        }
时间: 2024-10-26 00:58:58

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

三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)

摘自 http://blog.csdn.net/liujun13579/article/details/7773945 三十二.Java图形化界面设计--布局管理器之CardLayout(卡片布局) 卡片布局能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组件叠在一起,初始时显示该空间中第一个添加的组件,通过CardLayout类提供的方法可以切换该空间中显示的组件. 1.  CardLayout类的常用构造函数及方法 2.  使用CardLayout类提供的方法可以切换显

CCNA实验三十二 ISDN &nbsp;

CCNA实验三十二 ISDN 环境:Windows XP .Boson NetSim7.02 目的:简单认识ISDN和并掌握基本配置 说明: ISDN综合业务数字网(Integrated Services Digital Network,ISDN)是一个数字电话网络国际标准,是一种典型的电路交换网络系统.它通过普通的铜缆以更高的速率和质量传输语音和数据.ISDN的承载业务类型按照业务的数据率分为两级. 1.基本速率接口(BRI:BasicRateInterface),该速率由两个承载信道和一个数

Gradle 1.12用户指南翻译——第三十二章. JDepend 插件

本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc/tree/1.12. 直接浏览双语版的文档请访问: http://gradledoc.qiniudn.com/1.12/userguide/userguide.html. 另外,Android 手机用户可通过我写的一个

工作那些事(三十二)由孙悟空的两个故事谈个人与团队

故事一: 话说唐太宗为了节省开支,西天取经项目需要裁员,接到通知的唐僧骤然头大,不知如何是好. 有人说: 先把猴子开了,因为不服从管理,再把沙僧开了,因为没有主见,再把猪开了, 因为猪肉比较贵,直接杀了卖钱,再把自已开了,因为没本事去,小白龙留下,因为有后台. 但是: 猴子是不能开的,猴子是团队中的精英,也就是大牛. 小白龙是不能开的,他是唐僧的座驾,是他身份的象征. 猪也是不能开的,对团队的氛围有重要作用. 最后 只能开掉沙僧 虽然他做事很多. 重要的是四种人: 1 唐僧:钦定的项目经理,虽然

【Unity 3D】学习笔记三十二:游戏元素——游戏光源

游戏光源 在3D游戏中,光源是一个非常具有特色的游戏组件.用来提升游戏画面质感的.如果没有加入光源,游戏场景可能就会显得很昏暗.在unity中提供了三种不同的光源类型:点光源,聚光灯,平行光. 点光源 顾名思义,点光源是从一个点向周围散发出光的光源,就像电灯一样.创建点光源在hierarchy视图中点击create--point light: 创建完以后,点击点光源对象,在右侧inspector视图中可以看到点光源的所有信息: type:光源的类型.有point(点光源),directional

(转载)Android项目实战(三十二):圆角对话框Dialog

Android项目实战(三十二):圆角对话框Dialog 前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框. 对话框包括:1.圆角 2.app图标 , 提示文本,关闭对话框的"确定"按钮 难点:1.对话框边框圆角显示 2.考虑到提示文本字数不确定,在不影响美观的情况下,需要在一行内显示提示的文字信息   3.设置对话框的宽和高 技术储备: 1.安卓开发_使用AlertDialog实现对话框    知道AlertDialog有setView(view) ,Dia

毛泽东时代是中国历史上最伟大的时代——为纪念伟大领袖毛主席逝世三十二周年而作

http://www.wyzxsx.com/Article/Class22/200810/53093.html 毛泽东时代是中国历史上最伟大的时代--为纪念伟大领袖毛主席逝世三十二周年而作 94岁老红军郑加平 在去毛化,非毛化的鼓噪声中,其中最恶毒的是有人公开叫嚣:"建国以来毛泽东没干过一件好事".说这样话的人,不用分析,可以断言,他是替被推翻的帝国主义,封建主义,官僚资本主义的余孽发出的嚎叫! 怎样评价毛泽东,稍有理智的人都知道,应把毛泽东放在人类思想大师的高层次中加以研究,从这一观

javaweb学习总结(三十二)——JDBC学习入门【转】

原文地址:javaweb学习总结(三十二)——JDBC学习入门 一.JDBC相关概念介绍 1.1.数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后 才能够使用声卡和网卡,同样道理,我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数 据库打交道,如下所示: 1.2.JDBC介绍 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作

Java进阶(三十二) HttpClient使用详解

Java进阶(三十二) HttpClient使用详解 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性.因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会更加深入. 一.简介 HttpClient是A