📄 directinbound.aspx.cs
字号:
}
}
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 + -