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

📄 directinbound.aspx.cs

📁 asp销售管理系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
            }
        }

        Session["ReceiptTable"] = myTable;
        GetReceiptItems(myGridView);
    }

    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView myGridView = (GridView)sender;
        GetReceiptItems(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["ReceiptTable"] as DataTable;

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

        Session["ReceiptTable"] = myTable;

        GetReceiptItems(myGridView);
        myGridView.EditIndex = -1;
        myGridView.DataBind();

        Page.SetFocus((TextBox)FormView1.FindControl("ItemIDTextBox"));
    }

    decimal priceTotal = 0;
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            // add the UnitPrice to the running total variables
            for (int i = 5; i < 9; i++)
                e.Row.Cells[i].HorizontalAlign = HorizontalAlign.Right;

            priceTotal += Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, "ReceiptItemsPrice")) * Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, "ReceiptItemsQuantity"));
        }
        else if (e.Row.RowType == DataControlRowType.Footer)
        {
            e.Row.Cells[7].Text = "金额总计:";
            // for the Footer, display the running totals
            e.Row.Cells[8].Text = priceTotal.ToString("c");

            e.Row.Cells[8].HorizontalAlign = HorizontalAlign.Right;
            e.Row.Font.Bold = true;

            priceTotal = 0;
        }

    }

    protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView myGridView = (GridView)sender;
        GetReceiptPlanItems(myGridView);
        myGridView.PageIndex = e.NewPageIndex;
        myGridView.DataBind();
    }

    protected void GridView2_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridView myGridView = (GridView)sender;
        AddReceipt(myGridView.SelectedRow);
        myGridView.SelectedIndex = -1;

        RadioButton radioBrowserDetails = myGridView.Parent.Parent.FindControl("radioBrowserDetails") as RadioButton;
        RadioButton radioInsertDetails = myGridView.Parent.Parent.FindControl("radioInsertDetails") as RadioButton;
        radioBrowserDetails.Checked = true;
        radioInsertDetails.Checked = false;

        radioButtonDetails_CheckedChanged(radioBrowserDetails, new EventArgs());

        //列表GridView
        GridView myGridView1 = myGridView.Parent.Parent.FindControl("GridView1") as GridView;
        myGridView1.EditIndex = 0;
        myGridView1.DataBind();

        //光标
        GridViewRow editRow = myGridView1.Rows[myGridView1.EditIndex];
        Page.SetFocus((TextBox)editRow.FindControl("txtReceiptItemsPrice"));
    }

    private void GetReceiptItems(GridView myGridView)
    {
        DataTable myTable = Session["ReceiptTable"] as DataTable;
        myGridView.DataSource = myTable;
        myGridView.DataBind();
    }

    protected void GetReceiptPlanItems(GridView myGridView)
    {
        DataSet ds = GetReceiptPlanItemsToDataSet();
        myGridView.DataSource = ds.Tables[0];
        if (ds.Tables[0].Rows.Count < 100)
            myGridView.AllowPaging = false;
        else
            myGridView.AllowPaging = true;
        myGridView.DataBind();
    }

    private DataSet GetReceiptPlanItemsToDataSet()
    {
        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["ReceiptTable"] as DataTable;
        string strReceiptItemsID = "";
        for (int i = 0; i < myTable.Rows.Count; i++)
        {
            strReceiptItemsID += "'" + myTable.Rows[i][0] + "',";
        }
        if (strReceiptItemsID != "")
        {
            //去掉最后一个“,”
            strReceiptItemsID = strReceiptItemsID.Substring(0, strReceiptItemsID.Length - 1);
            strQuery = "SELECT [Items].ItemID, [Items].Name, [Items].Specification, [Items].Unit, [Items].StandardPrice, 0 AS Quantity" +
               " FROM [Items] Where " + strFilter + " AND (ItemID Not In (" + strReceiptItemsID + "))";
        }
        else
        {
            strQuery = "SELECT [Items].ItemID, [Items].Name, [Items].Specification, [Items].Unit, [Items].StandardPrice, 0 AS Quantity" +
               " FROM [Items] Where " + strFilter;
        }

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

        return ds;
    }

    private void AddReceipt(GridViewRow addItemsRow)
    {
        DataTable myTable = Session["ReceiptTable"] as DataTable;
        DataRow dr = myTable.NewRow();

        //DataRowView rowView = (DataRowView)addItemsRow.DataItem;
        //nnd,第一列是“接收”链接。从第2列起算
        dr[0] = addItemsRow.Cells[1].Text;
        dr[1] = addItemsRow.Cells[2].Text;
        dr[2] = addItemsRow.Cells[3].Text;
        dr[3] = addItemsRow.Cells[4].Text;
        dr[4] = Convert.ToDecimal(addItemsRow.Cells[5].Text);
        dr[5] = Convert.ToDecimal(addItemsRow.Cells[6].Text);
        dr[6] = dr[4];
        dr[7] = dr[5];

        myTable.Rows.InsertAt(dr, 0);
        Session["ReceiptTable"] = myTable;
    }


    protected void LinkButtonSearch_Click(object sender, EventArgs e)
    {
        RadioButton radioInsertDetails = FormView1.FindControl("radioInsertDetails") as RadioButton;
        RadioButton radioBrowserDetails = FormView1.FindControl("radioBrowserDetails") as RadioButton;
        radioBrowserDetails.Checked = false;
        radioInsertDetails.Checked = true;
        radioButtonDetails_CheckedChanged(radioInsertDetails, new EventArgs());
    }


    protected void btnAuto_Click(object sender, EventArgs e)
    {
        TextBox ReceivingCodeTextBox = FormView1.FindControl("ReceivingCodeTextBox") as TextBox;
        RadioButton radioBrowserDetails = FormView1.FindControl("radioBrowserDetails") as RadioButton;
        RadioButton radioInsertDetails = FormView1.FindControl("radioInsertDetails") as RadioButton;

        ClientScriptManager cs = Page.ClientScript;
        Type cstype = this.GetType();
        String csname = "PopupScript";

        if (ReceivingCodeTextBox.Text == "")
        {
            String cstext = "alert('请填写料单号!');";
            cs.RegisterStartupScript(cstype, csname, cstext, true);
            radioInsertDetails.Checked = false;
            radioBrowserDetails.Checked = true;
            return;
        }

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

        String strReceiptDate = ReceiptDate.ToShortDateString();

        DataTable myTable = Session["ReceiptTable"] as DataTable;
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MySqlProviderConnection"].ConnectionString);

        string strQuery = "SELECT [Items].ItemID,[Items].Name,[Items].Specification,[Items].Unit,[Items].StandardPrice,[ProcurePlanDetail].Quantity,[ProcurePlanDetail].EstimatePrice" +
            " FROM [Items] Join [ProcurePlanDetail] ON ([Items].ItemID = [ProcurePlanDetail].ItemID) WHERE [ProcurePlanDetail].PlanID IN (Select PlanID From ProcurePlanMain Where ('" + strReceiptDate + "' BETWEEN PlanStartDate AND PlanStopDate) AND IsReviewed=1 AND IsFinished=0)";

        SqlCommand command = new SqlCommand(strQuery, con);

        con.Open();
        SqlDataReader reader = command.ExecuteReader();

        try
        {
            while (reader.Read())
            {
                DataRow dr = myTable.NewRow();
                for (int i = 0; i < 7; i++)
                {
                    dr[i] = reader[i];
                }
                dr[7] = reader[5];
                myTable.Rows.InsertAt(dr, 0);
            }
        }
        finally
        {
            reader.Close();
        }

        Session["ReceiptTable"] = myTable;

        GetReceiptItems((GridView)FormView1.FindControl("GridView1"));

        radioBrowserDetails.Checked = true;
        radioInsertDetails.Checked = false;

        radioButtonDetails_CheckedChanged(radioBrowserDetails, new EventArgs());
    }
}

⌨️ 快捷键说明

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