zoukankan      html  css  js  c++  java
  • ERP仓库管理系统查询(十)

    需求:
       1.根据仓库编号,获取仓库信息绑定至页面相关控件。
    2.根据仓库编号,获取管理员信息绑定到页面相关控件

    修改的界面:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="StockEdit.aspx.cs" Inherits="BioErpWeb.StockSystem.StockEdit" %>
    
    <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>
    
    <!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/CalenderStyle.css" rel="stylesheet" type="text/css" />
        <style type="text/css">
            .style1
            {
                 100px;
            }
        </style>
        <script src="../JS/CheckUserNames.js" type="text/javascript"></script>
        <script src="../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            var i = 0;
            $(document).ready(function () {
    
                $("#btnaddRow").click(function () {
                    i++;
                    var tr = '<tr id="tr' + i + '"><td><input type="text" name="UserId"  id="txtUserName"/></td><td class="style1"><input type="button" value="选择员工"  style=" 100px;" onclick="showDialog()"/></td></tr>';
                    $("#caption").before(tr);
                });
    
                $("#btnDeleteRow").click(function () {
                    var lasttr = $("#tr" + i);
                    lasttr.remove();
                    i--;
    
                });
    
    
    
                //验证
                $("#btnSubmit").click(function () {
                    var stockname = $("#txtStockName");
                    if (stockname.val() == '') {
                        alert("请填写仓库名称");
                        return false;
    
                    }
                    var stockaddress = $("#txtAddress");
                    if (stockaddress.val() == '') {
                        alert("请填写仓库地址");
                        return false;
                    }
    
                    //2011年10月26日9:54:56 完善下拉列表验证
                    var selectcompany = $("#ddlCompany");
                    var selectCaption = selectcompany.select();
    
                    if (selectCaption.val() == 0) {
                        alert("请选择所属公司");
                        return false;
                    }
    
    
                    var userids = document.getElementsByName("UserId");
    
                    for (var j = 0; j < userids.length; j++) {
                        if (userids[j].value == '' || userids[j].value == '请选择') {
                            alert("请选择第" + (j + 1) + "行用户编号");
                            return false;
                        }
    
                    }
                    return true;
    
                });
    
            });
    
            //添加count行 单元格
            function addRow(count) {
    
                for (var j = 1; j < count; j++) {
                    i++;
                    var tr = '<tr id="tr' + i + '"><td><input type="text" name="UserId"  id="txtUserName"/></td><td class="style1"><input type="button" value="选择员工"  style=" 100px;" onclick="showDialog()"/></td></tr>';
                    $("#caption").before(tr);
                }
    
            }
            //给员工控件设置userid
            function setValues(userids) {
    //            alert(userids);
                var useridlist = userids.split(',');
                var txtuserids = document.getElementsByName("UserId");
                for (var j = 0; j < useridlist.length; j++) {
                    txtuserids[j].value = useridlist[j];
                }
    
            }
        </script>
    
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <div>
         <table class="maintable">
             <tr>
                 <td class="titlebar"  colspan="2">
                     <span>仓库信息管理系统</span>
                 </td>
             </tr>
             <tr>
                 <td>
                     库房名称:
                 </td>
                 <td>
                     <asp:TextBox ID="txtStockName" Width="200px" runat="server"></asp:TextBox>
                 </td>
             </tr>
             <tr>
                 <td>
                     库房地址:
                 </td>
                 <td>
                     <asp:TextBox ID="txtAddress" Width="200px" runat="server"></asp:TextBox>
                 </td>
             </tr>
             <tr>
                 <td>
                     所属公司
                 </td>
                 <td>
                     <asp:DropDownList ID="ddlCompany" Width="200px" runat="server">
                     </asp:DropDownList>
                 </td>
             </tr>
             <tr>
                 <td>
                     仓库管理员
                 </td>
                 <td>
                     <table>
                     <tr><td><input type="text" name="UserId"  id="txtUserName"/></td><td class="style1"><input type="button" value="选择员工"  style=" 100px;" onclick="showDialog()"/></td></tr>
                     <tr id="caption"><td colspan="2" style=" text-align:right;"><input type="button" id="btnaddRow" value="添加一行"  style=" 100px;"/> <input type="button" value="删除一行" id="btnDeleteRow"  style=" 100px;"/></td></tr>
                     </table>
                 </td>
             </tr>
    
                <tr>
                 <td>
                     仓库状态
                 </td>
                 <td>
                   
                     <asp:DropDownList ID="ddlState" runat="server">
                         <asp:ListItem Value="1">正常</asp:ListItem>
                         <asp:ListItem Value="0">停用</asp:ListItem>
                     </asp:DropDownList>
                   
                 </td>
             </tr>
             <tr >
                 <td class="bottomtd" colspan="2">
                     <asp:Button ID="btnSubmit" runat="server" Text="仓库信息修改" CssClass="submitbutton" 
                         onclick="btnSubmit_Click"  />
                 </td>
             </tr>
         </table>
            <br />
        </div>
        </form>
    </body>
    </html>
    

    存储过程(使用通用的):

    -- Description:	根据指定列,指定条件,指定表查询数据
    -- =============================================
    ALTER PROCEDURE [dbo].[GetDataByCondition] 
    	@tableName nvarchar(200),
    	@columns nvarchar(500),
    	@condition nvarchar(500)=' 1=1'
    	
    	AS
    BEGIN
    	
    	SET NOCOUNT ON;
        DECLARE @sqlStr nvarchar(2000)
        SET @sqlStr='select '+@columns+' from '+@tableName+' where '+@condition
        EXEC(@sqlStr)
        
    END
    

    定义一个标量值函数:

    -- Description:	根据员工编号返回员工姓名
    -- =============================================
    ALTER FUNCTION [dbo].[getUserNameByUserID]
    (
    	@UserID int
    )
    RETURNS Nvarchar(20)
    AS
    BEGIN
    	-- Declare the return variable here
    	DECLARE @UserName nvarchar(20)
    
    	-- Add the T-SQL statements to compute the return value here
    	SELECT @UserName=UserName FROM UserManager WHERE UserManager.UserId=@UserID
    
    	-- Return the result of the function
    	RETURN @UserName
    
    END
    

     根据条件返回一个数据阅读器对象

      /// <summary>
            /// 根据条件返回一个数据阅读器对象
            /// </summary>
            /// <returns></returns>
            public static SqlDataReader GetDataReaderByCondition(string tableName, string columns, string condition)
            {
                SqlParameter[] pars = new SqlParameter[]{
                      new SqlParameter("@tableName",tableName),
                      new SqlParameter("@columns",columns),
                      new SqlParameter("@condition",condition)
                    };
                SqlDataReader reader = DataBaseHelper.SelectSQLReturnReader("GetDataByCondition", CommandType.StoredProcedure, pars);
                
                return reader;
            
            }
    

     BLL层的代码:

           /// <summary>
           /// 根据ID查询仓库表内容
           /// </summary>
           /// <param name="id">仓库ID</param>
           /// <returns>StockTable</returns>
           public StockTable getStockTableByID(int id)
           {
            
               //调用的通用的存储过程
           SqlDataReader reader=  SqlComm.GetDataReaderByCondition("BioErpStockTable", "*", " id="+id.ToString());
              
             StockTable stock = new StockTable();
             stock.ID = id;
             while (reader.Read())
             {
                 stock.StockName = reader["StockName"].ToString();
                 stock.StockAddress = reader["StockAddress"].ToString();
                 stock.FarhterCompany = int.Parse(reader["FarhterCompany"].ToString());
                 stock.IsDel = bool.Parse(reader["IsDel"].ToString());
             }
             reader.Close();
             return stock;       
           }
    

     根据StockID绑定员工列表

     /// <summary>
          /// 根据StockID绑定员工列表
          /// </summary>
          /// <param name="id">StockID</param>
          /// <returns>DataTable</returns>
          public DataTable getStockUsersListByStockID(int id)
          {
              DataTable dt = CommTool.SqlComm.GetDataByCondition("BioErpStockUsers", "ID,StockID,UserID,Username=dbo.getUserNameByUserID(UserID)", " StockID=" + id.ToString()).Tables[0];
              return dt;
          }
    

     后台的代码:

      public partial class StockEdit : System.Web.UI.Page
        {
            CompanyTableBll companybll = new CompanyTableBll();
         
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    CompanyListBind();
                    StockInfoBind();
                     StockUsersIist();
                } 
              
            }
            BioErpStockTableBLL stocktablebll = new BioErpStockTableBLL();
            BioErpStockUsersBLL stockuserbll = new BioErpStockUsersBLL();
           static BioErpStockUsers stockusers = new BioErpStockUsers();
           static StockTable stocktable = new StockTable();
            /// <summary>
            /// 仓库基本信息绑定
            /// </summary>
            private void StockInfoBind()
            {
                if (Request.QueryString["stockid"] != null)
                {
                  string id=  Request.QueryString["stockid"].ToString();
                  stocktable=  stocktablebll.getStockTableByID(int.Parse(id));
                 this.txtStockName.Text= stocktable.StockName;
                 this.txtAddress.Text = stocktable.StockAddress;
                 this.ddlCompany.SelectedValue = stocktable.FarhterCompany.ToString();
                 this.ddlState.SelectedValue = Convert.ToBoolean(stocktable.IsDel) ? "0" : "1";
                }
                else
                {
                    Server.Transfer("StockTableList.aspx");
                }
            }
    
            private void CompanyListBind()
            {
                this.ddlCompany.DataSource = companybll.GetCompanyList();
                this.ddlCompany.DataTextField = "CompanyName";
                this.ddlCompany.DataValueField = "ID";
                this.ddlCompany.DataBind();
                this.ddlCompany.Items.Add(new ListItem("--请选择--","0"));
                this.ddlCompany.SelectedValue = "0";
    
            }
    
            /// <summary>
            /// 绑定仓库管理员列表
            /// </summary>
            private void StockUsersIist()
            {
                 if (Request.QueryString["stockid"] != null)
                {
                     string id=Request.QueryString["stockid"].ToString();
                //查询仓库的管理员列表
                 System.Data.DataTable dt=    stockuserbll.getStockUsersListByStockID(int.Parse(id));
                 string userids = "";
                 for (int i = 0; i < dt.Rows.Count; i++)
                 {
                     userids = userids + dt.Rows[i]["UserID"].ToString()+",";
    
                 }
                //计算仓库管理员个数
                 int count = dt.Rows.Count;
    
                //调用RegisterStartupScript方法去调用前端的addRow 脚本函数 实现动态添加表格
                 ClientScript.RegisterStartupScript(this.GetType(), "test", "addRow(" + count + ");", true);
                 ClientScript.RegisterStartupScript(this.GetType(), "setValues", "setValues('" + userids + "');", true);
                 }
            }
    
            protected void btnSubmit_Click(object sender, EventArgs e)
            {
                stocktable.StockName = txtStockName.Text;
                stocktable.StockAddress = txtAddress.Text;
                stocktable.IsDel = this.ddlState.SelectedValue == "1" ? false : true;
                stocktable.FarhterCompany =int.Parse(ddlCompany.SelectedValue.ToString());
    
                stocktablebll.StockTableUpdate(stocktable);
    
              string userids=  Request["UserId"].ToString();
              string[] useridlist = userids.Split(',');
              SqlComm.DeleteTableByCondition("BioErpStockUsers", "where StockID="+stocktable.ID.ToString());
              for (int i = 0; i < useridlist.Length; i++)
              {
                  stockusers.StockID = stocktable.ID;
                  stockusers.UserID =int.Parse(useridlist[i].ToString());
                  stockuserbll.StockUserAdd(stockusers);              
              }
    
              Server.Transfer("StockTableList.aspx");
    
            }
          
        }
    

    分页:

    前台页面:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="StockTableList.aspx.cs" Inherits="BioErpWeb.StockSystem.StockTableList" %>
    
    <%@ 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" />
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
           <table class="maintable">
             <tr>
                 <td class="titlebar">
                     <span>仓库信息管理系统</span>
                 </td>
             </tr>
             <tr>
             <td>
              <table style=" 790px;">
                  <tr>
                      <td>
                          <span>仓库名:</span><asp:TextBox ID="txtStotckName" runat="server" Width="100px"></asp:TextBox>
                      </td>
                      <td>
                          <span>仓库地址: </span>
                          <asp:TextBox ID="txtAddress" runat="server" Width="100px"></asp:TextBox>
                      </td>
                      <td>
                          <span>所属公司:</span><asp:DropDownList ID="ddlCompany" runat="server">
                          </asp:DropDownList>
                      </td>
                      <td>
                          <span>状态:</span><asp:DropDownList ID="ddlState" runat="server">
                              <asp:ListItem Value="1">正常</asp:ListItem>
                              <asp:ListItem Value="0">停用</asp:ListItem>
                          </asp:DropDownList>
                      </td>
                      <td>
                          <asp:Button ID="btnSearch" Width="100px" runat="server" Text="搜索" onclick="btnSearch_Click" />
                      </td>
                  </tr>
              </table>
             </td>
             </tr>
             <tr>
                 <td>
               
                     <asp:GridView ID="GridView1"  AutoGenerateColumns="False" Width="800px" 
                         runat="server" onrowcommand="GridView1_RowCommand">
                         <Columns>
                             <asp:TemplateField HeaderText="编号">
                                 <ItemTemplate>
                                     <asp:Label ID="Label1" runat="server" Text='<%# Eval("ID") %>'></asp:Label>
                                 </ItemTemplate>
                             </asp:TemplateField>
                             <asp:TemplateField HeaderText="仓库名">
                                 <ItemTemplate>
                                     <asp:Label ID="Label2" runat="server" Text='<%# Eval("StockName") %>'></asp:Label>
                                 </ItemTemplate>
                             </asp:TemplateField>
                             <asp:TemplateField HeaderText="地址">
                                 <ItemTemplate>
                                     <asp:Label ID="Label3" runat="server" Text='<%# Eval("StockAddress") %>'></asp:Label>
                                 </ItemTemplate>
                             </asp:TemplateField>
                             <asp:TemplateField HeaderText="所属公司">
                                 <ItemTemplate>
                                     <asp:Label ID="Label4" runat="server" Text='<%# Eval("FarhterCompany") %>'></asp:Label>
                                 </ItemTemplate>
                             </asp:TemplateField>
                             <asp:TemplateField HeaderText="管理员">
                                 <ItemTemplate>
                                     <asp:Label ID="Label5" runat="server" Text='<%# Eval("UserNames") %>'></asp:Label>
                                 </ItemTemplate>
                             </asp:TemplateField>
                             <asp:TemplateField HeaderText="操作">
                               <ItemTemplate>
                                           <asp:ImageButton ID="imgEditBtn" Width="50" Height="20" CommandName="imgEdit" CommandArgument='<%#Eval("ID") %>' CausesValidation="false" ImageUrl="~/Web/images/Edit.gif" runat="server" />                                     
                                        
                               </ItemTemplate>
                                <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_PageChanged">
                     </webdiyer:AspNetPager>
                 </td>
             </tr>
         </table>
        </div>
        </form>
    </body>
    </html>
    

     分页及查询的后台:

    public partial class StockTableList : System.Web.UI.Page
        {
            static string Condition = "";
            static int pageindex=0;
            static int pagesize = 8;
            CompanyTableBll companybll = new CompanyTableBll();
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    this.AspNetPager1.RecordCount = SqlComm.getDataCountByCondition("View_StockList", Condition);
                    this.AspNetPager1.PageSize = pagesize;
                    getCompanyList();
                    getStockList();
                }
    
            }
    
            private void getCompanyList()
            {
                this.ddlCompany.DataSource = companybll.GetCompanyList();
                this.ddlCompany.DataTextField = "CompanyName";
                this.ddlCompany.DataValueField = "ID";
                this.ddlCompany.DataBind();
                this.ddlCompany.Items.Add(new ListItem("--请选择--", "0"));
                this.ddlCompany.SelectedValue = "0";
                
            }
    
            /// <summary>
            /// 获取仓库信息列表
            /// </summary>
            private void getStockList()
            {
              this.GridView1.DataSource=  SqlComm.getDataByPageIndex("View_StockList", "ID,StockName,FarhterCompany,StockAddress,IsDel,UserNames", "ID",Condition, pageindex, pagesize);
              this.GridView1.DataBind();
            
            }
    
            protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                if (e.CommandName == "imgEdit")
                {
                    string id = e.CommandArgument.ToString();
                    Server.Transfer("StockEdit.aspx?stockid=" + id);
                }
            }
    
            protected void btnSearch_Click(object sender, EventArgs e)
            {
                Condition = "";
                if (this.txtStotckName.Text != "")
                {
                    Condition = " and StockName like '" + this.txtStotckName.Text + "%' ";
                }
    
                if (this.txtAddress.Text != "")
                {
                    Condition = " and StockAddress like '" + this.txtAddress.Text + "%' ";
                }
    
                if (this.ddlCompany.SelectedValue != "0")
                {
                    Condition = " and FarhterCompany='" + this.ddlCompany.SelectedItem.Text + "' ";
                }
                if (this.ddlState.SelectedValue == "0")
                {
                    Condition = " and IsDel='True'  ";
                }
                else {
                    Condition = " and IsDel='False'  ";
                }
    
                getStockList();
    
    
            }
    
            protected void AspNetPager1_PageChanged(object sender, EventArgs e)
            {
                pageindex = this.AspNetPager1.CurrentPageIndex - 1;
                getStockList();
            }
        }
    
  • 相关阅读:
    16年青岛网络赛 1001 I Count Two Three
    最短路算法--模板
    POJ 1511 Invitation Cards (spfa的邻接表)
    POJ 2240 Arbitrage
    POJ 1502 MPI Maelstrom
    POJ 1860 Currency Exchange (最短路)
    最短路径--SPFA 算法
    POJ 3660 Cow Contest
    POJ 3259 Wormholes (Bellman_ford算法)
    POJ 3268 Silver Cow Party (双向dijkstra)
  • 原文地址:https://www.cnblogs.com/sunliyuan/p/5967898.html
Copyright © 2011-2022 走看看