⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dispatch.aspx.cs

📁 asp销售管理系统
💻 CS
📖 第 1 页 / 共 3 页
字号:
        SqlDataSource1.InsertParameters["ReceiverName"].DefaultValue = DrpReceiverName.SelectedValue;

        //得到已经增加的物资列表
        DataTable myTable = Session["DeliveryTable"] as DataTable;
        string strDeliveryItemsID = "";
        string strDeliveryItemsQuantity = "";
        for (int i = 0; i < myTable.Rows.Count; i++)
        {
            strDeliveryItemsID += myTable.Rows[i][0] + ",";
            strDeliveryItemsQuantity += myTable.Rows[i][6] + ",";
        }
        if (strDeliveryItemsID != "")
        {
            //去掉最后一个“,”
            strDeliveryItemsID = strDeliveryItemsID.Substring(0, strDeliveryItemsID.Length - 1);
            strDeliveryItemsQuantity = strDeliveryItemsQuantity.Substring(0, strDeliveryItemsQuantity.Length - 1);
        }

        SqlDataSource1.InsertParameters["ItemsIDList"].DefaultValue = strDeliveryItemsID;
        SqlDataSource1.InsertParameters["QuantityList"].DefaultValue = strDeliveryItemsQuantity;
    }

    string insertedDeliveryID="";

    protected void SqlDataSource1_Inserted(object sender, SqlDataSourceStatusEventArgs e)
    {
        insertedDeliveryID = e.Command.Parameters["@DeliveryID"].Value.ToString();
    }

    protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e)
    {
        if (e.Exception == null)
        {
            if (Session["DeliveryTable"] != null)
            {
                Session["DeliveryTable"] = null;
            }

            // Get a ClientScriptManager reference from the Page class.
            ClientScriptManager cs = Page.ClientScript;
            Type cstype = this.GetType();
            String csname = "PopupScriptSuccess";

            // Check to see if the startup script is already registered.
            if (!cs.IsStartupScriptRegistered(cstype, csname))
            {
                String cstext = "alert('成功添加记录。');if(confirm('是否打印发料单?')) window.open('print.aspx?id=" + insertedDeliveryID + "','_blank','fullscreen=0,menubar=no,location=no,scrollbars=auto,resizable=yes,status=yes');"
                    +"window.location.href=window.location.href";
                cs.RegisterStartupScript(cstype, csname, cstext, true);
            }

        }
        else
        {
            // Get a ClientScriptManager reference from the Page class.
            ClientScriptManager cs = Page.ClientScript;
            Type cstype = this.GetType();
            String csname = "PopupScriptFail";

            // Check to see if the startup script is already registered.
            if (!cs.IsStartupScriptRegistered(cstype, csname))
            {
                String cstext = "alert('在往数据库增加记录时出错,请重新编辑保存。');window.location.href=window.location.href";
                cs.RegisterStartupScript(cstype, csname, cstext, true);
            }

            //e.ExceptionHandled = true;
        }

    }

    protected void DropDownList1_DataBound(object sender, EventArgs e)
    {
        //获取默认选中的仓库ID
        hidWareHouseID.Value = ((DropDownList)sender).SelectedValue;        
    }

    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        hidWareHouseID.Value = ((DropDownList)sender).SelectedValue;
    }

    protected void DrpUser_DataBound(object sender, EventArgs e)
    {
        Label lblMoney = FormView1.FindControl("lblMoney") as Label;
        string UserName = ((DropDownList)sender).SelectedValue;
        string strDepartID = GetDepartmentID(UserName);
        DropDownList DropDownList2 = FormView1.FindControl("DropDownList2") as DropDownList;
        DropDownList2.SelectedIndex = DropDownList2.Items.IndexOf(DropDownList2.Items.FindByValue(strDepartID));

        TextBox DeliveryDateTextBox = FormView1.FindControl("DeliveryDateTextBox") as TextBox;
        DateTime DeliveryDate;
        try
        {
            DeliveryDate = DateTime.Parse(DeliveryDateTextBox.Text);
        }
        catch (System.FormatException eFormat)
        {
            DeliveryDate = DateTime.Now;
        }
    }

    /// <summary>
    /// 从Items和Inventory表中查出特定仓库中的所有记录,
    /// 然后和GridView2绑定
    /// ToDo:后面加上条件查询以缩小范围。
    /// </summary>
    /// <param name="myGridView"></param>
    protected void GetWarehouseItems(GridView myGridView)
    {
        DataSet ds = GetWarehouseItemsToDataSet();
        myGridView.DataSource = ds.Tables[0];
        myGridView.DataBind();
    }

    private DataSet GetWarehouseItemsToDataSet()
    {
        DropDownList drpFilterOption = FormView1.FindControl("drpFilterOption") as DropDownList;
        string strOption = drpFilterOption.SelectedValue;

        TextBox ItemIDTextBox = FormView1.FindControl("ItemIDTextBox") as TextBox;
        string strFilter = ItemIDTextBox.Text + "%";

        if (strOption == "ItemID")
            strFilter = "[Items].ItemID Like '" + strFilter + "'";
        else if (strOption == "Name")
            strFilter = "[Items].Name Like '%" + strFilter + "'";
        else
            strFilter = "[Items].Specification Like '%" + strFilter + "'";
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MySqlProviderConnection"].ConnectionString);
        string strQuery = "";
        //得到已经增加的物资列表,不再出现
        DataTable myTable = Session["DeliveryTable"] as DataTable;
        string strDeliveryItemsID = "";
        for (int i = 0; i < myTable.Rows.Count; i++)
        {
            strDeliveryItemsID += "'" + myTable.Rows[i][0] + "',";
        }
        if (strDeliveryItemsID != "")
        {
            //去掉最后一个“,”
            strDeliveryItemsID = strDeliveryItemsID.Substring(0, strDeliveryItemsID.Length - 1);
            strQuery = "SELECT [Items].ItemID, [Items].Name, [Items].Specification, [Items].Unit, [Items].StandardPrice, [Inventory].Quantity" +
               " FROM [Items] Join [Inventory] ON ([Items].ItemID = [Inventory].ItemID ) Where [Inventory].IsDeleted=0" +
               " And [Inventory].WareHouseID = " +
               Convert.ToInt32(hidWareHouseID.Value) + " And " + strFilter + " And [Items].ItemID Not In (" + strDeliveryItemsID + ")" +
               " Order by [Items].Name, [Items].Specification";
        }
        else
        {
            strQuery = "SELECT [Items].ItemID, [Items].Name, [Items].Specification, [Items].Unit, [Items].StandardPrice, [Inventory].Quantity" +
               " FROM [Items] Join [Inventory] ON ([Items].ItemID = [Inventory].ItemID ) Where [Inventory].IsDeleted=0" +
               " And [Inventory].WareHouseID = " +
               Convert.ToInt32(hidWareHouseID.Value) + " And " + strFilter +
               " Order by [Items].Name, [Items].Specification";
        }

        SqlDataAdapter adapter = new SqlDataAdapter(strQuery, con);
        DataSet ds = new DataSet();
        adapter.Fill(ds);

        return ds;
    }

    private string GetDepartmentID(string UserName)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MySqlProviderConnection"].ConnectionString);
        string strQuery = "Select DepartmentID FROM Accounts_DepartmentUsers WHERE UserName ='" + UserName + "'";

        SqlCommand command = new SqlCommand(strQuery, con);
        con.Open();
        SqlDataReader reader = command.ExecuteReader();
        try
        {
            while (reader.Read())
            {
                return reader[0].ToString();
            }
        }
        finally
        {
            reader.Close();
        }
        return "0";
    }

    /// <summary>
    /// VS2005 无法自动Paging,所以必须编程实现。
    /// 同理参见protected void GetWarehouseItems(GridView myGridView)
    /// 注意在翻页之前必须重新指定DataSource,否则空白。
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView myGridView = (GridView)sender;
        GetDeliveryItems(myGridView);
        myGridView.PageIndex = e.NewPageIndex;
        myGridView.DataBind();
    }

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView myGridView = (GridView)sender;
        GetDeliveryItems(myGridView);
        myGridView.EditIndex = e.NewEditIndex;
        myGridView.DataBind();

        //光标,后面想想怎么默认全部选中
        GridViewRow editRow = myGridView.Rows[e.NewEditIndex];
        Page.SetFocus((TextBox)editRow.FindControl("txtDeliveryItemsQuantity"));
    }

    /// <summary>
    /// 请注意这里用于获取待删除GridViewRow某一Cell中文本的方法。
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        DataTable myTable = Session["DeliveryTable"] as DataTable;
        GridView myGridView = (GridView)sender;
        GridViewRow delRow = myGridView.Rows[e.RowIndex];

        //由于可能在后面加入sorting的功能,所以不能简单地用GridView的e.RowIndex代表Session中DeliveryTable的index
        for (int i = 0; i < myTable.Rows.Count; i++)
        {
            string strTemp = myTable.Rows[i][0].ToString();
            if (strTemp == ((Label)delRow.Cells[1].FindControl("lblDeliveryItemsID")).Text)
            {
                myTable.Rows[i].Delete();
                break;
            }            
        }

        Session["DeliveryTable"] = myTable;
        GetDeliveryItems(myGridView);
    }

    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView myGridView = (GridView)sender;
        GetDeliveryItems(myGridView);
        myGridView.EditIndex = -1;
        myGridView.DataBind();
    }

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        GridView myGridView = (GridView)sender;
        GridViewRow updateRow = myGridView.Rows[e.RowIndex];
        DataTable myTable = Session["DeliveryTable"] as DataTable;

        //由于可能在后面加入sorting的功能,所以不能简单地用GridView的e.RowIndex代表Session中DeliveryTable的index
        for (int i = 0; i < myTable.Rows.Count; i++)
        {
            string strTemp = myTable.Rows[i]["DeliveryItemsID"].ToString();
            if (strTemp == ((Label)updateRow.Cells[1].FindControl("lblDeliveryItemsID")).Text)
            {
                TextBox txtDeliveryItemsQuantity = (TextBox)updateRow.FindControl("txtDeliveryItemsQuantity");
                myTable.Rows[i]["DeliveryQuantity"] = Convert.ToDecimal(txtDeliveryItemsQuantity.Text);
                myTable.Rows[i]["DeliveryItemsMoney"] = Convert.ToDecimal(myTable.Rows[i]["DeliveryQuantity"]) * Convert.ToDecimal(myTable.Rows[i]["DeliveryItemsStandardPrice"]);
                myTable.Rows[i]["DeliveryItemsLeftInventory"] = Convert.ToDecimal(myTable.Rows[i]["DeliveryItemsInventory"]) - Convert.ToDecimal(myTable.Rows[i]["DeliveryQuantity"]);
                break;
            }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -