protected void bt_SaveChange_Click(object sender, EventArgs e) { FNA_StaffSalaryBLL bll = new FNA_StaffSalaryBLL((int)ViewState["ID"]); #region 保存每一个员工工资情况 foreach (GridViewRow row in gv_List.Rows) { try { string _staffname = ((HyperLink)(row.FindControl("hy_StaffName"))).Text; int id = (int)gv_List.DataKeys[row.RowIndex][0]; FNA_StaffSalaryDetail detail = bll.Items.First <FNA_StaffSalaryDetail>(item => item.ID == id); decimal org_adjust = 0; decimal adjust = 0; decimal.TryParse(detail["PayAdjust_Approve"], out org_adjust); decimal.TryParse(((TextBox)row.FindControl("tbx_PayAdjust_Approve")).Text, out adjust); if (org_adjust != adjust) { detail["PayAdjust_Approve"] = adjust.ToString(); detail["PayAdjust_Reason"] = ((TextBox)row.FindControl("tbx_PayAdjust_Reason")).Text; if (detail["PayAdjust_Reason"] == "") { MessageBox.Show(this, "第" + (row.RowIndex + 1).ToString() + "行," + _staffname + "的工资审批调整后,原因不能为空!"); return; } detail.TotalSalary += adjust - org_adjust; bll.UpdateDetail(detail); FNA_StaffSalaryBLL.UpdateAdjustRecord((int)ViewState["ID"], (int)Session["UserID"], org_adjust.ToString(), detail["PayAdjust_Approve"], _staffname); } } catch { continue; } } #endregion BindGrid(); MessageBox.Show(this, "工资调整金额保存成功!"); }